vue实现GitHub的第三方授权方法示例
目录
- 创建OAuth Apps
- 获取code
- 获取access_token
- 获取用户信息
废话不多说,直接奔入主题
温馨提示:本文章只满足个人使用需求,如果需要学习更详细的使用方法,可访问 OAuth官方文档。
【vue实现GitHub的第三方授权方法示例】
创建OAuth Apps
首先,你需要一个GitHub账户然后前往GitHub developers,根据要求填写完成之后,会自动生成Client_ID和Client Secret,在之后的步骤中会用到。
获取code
//methodasync githubLogin() { windows.location.href = "https://github.com/login/oauth/authorize?client_id = your_client_id&redirect_uri=your_redirect_uri"}
GitHub登陆
路由参数中redirect_uri是可选的。如果省略,则GitHub将重定向到你在OAuth apps配置的回调路径。如果提供,则你所填写的redirect_uri必须是你在OAuth apps中配置的回调路径的子路径。如下:
CALLBACK: http://xx.com/github
GOOD: http://xx.com/github
GOOD: http://xx.com/github/path/path
BAD: http://xx.com/git
BAD: http://xxxxx.com/path
如果用户接受你的请求,将会跳转到redirect_uri,我们可以接受路由中的参数code,以进行下一步操作。
your_redirect_uri?code=xxx
获取access_token
我们需要client_id、client_secret和code来获取access_token。
/*/githubAccessToken:https://github.com/login/oauth/access_token*/this.$axios .get('/githubAccessToken',{ params: {client_id: your_client_id,client_secret: your_client_secret,code: your_code} })
默认情况下,你会获取如下响应:
access_token=xxxxx&token_type=bearer
如果你想用更方便的格式接收响应,你可以在headers中自定义Accept:
Accept: "application/json"=> {"access_token":xxxxx,"token_type":bearer}
获取用户信息
获取access_token之后,我们就可以请求用户的部分信息了:
/*/githubUserInfo:https://api.github.com/user*/this.$axios .get('/githubUserInfo', {headers: {"Content-Type": "application/x-www-form-urlencoded",Accept: "application/json",Authorization: `token ${access_token}` //必填}})
然后你便可以获取到用户信息了。
到此这篇关于vue实现GitHub的第三方授权的文章就介绍到这了,更多相关vue实现GitHub的第三方授权内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- vue-cli|vue-cli 3.x vue.config.js 配置
- 2020-04-07vue中Axios的封装和API接口的管理
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- MybatisPlus使用queryWrapper如何实现复杂查询
- python学习之|python学习之 实现QQ自动发送消息
- 孩子不是实现父母欲望的工具——林哈夫
- opencv|opencv C++模板匹配的简单实现
- Node.js中readline模块实现终端输入
- java中如何实现重建二叉树
- 人脸识别|【人脸识别系列】| 实现自动化妆