OAuth介绍与使用
OAuth 是一种授权机制。数据的所有者告诉系统,同意授权第三方应用进入系统,获取这些数据。系统从而产生一个短期的进入令牌(token),用来代替密码,供第三方应用使用。
授权方式
- 授权码(authorization-code)
- 隐藏式(implicit)
- 密码式(password)
- 客户端凭证(client credentials)
*: 以上应用授权方式在获取令牌之前都需要先到系统备案,然后拿到客户端ID(client ID)和客户端密钥(client secret)。
详细区别请看这里
github OAuth 实践
-
申请 OAuth 权限
步骤查看github Creating OAuth App -
获取授权码
请求地址
https://github.com/login/oauth/authorize?client_id=xxx&scope=user
授权后会跳转至在github Creating OAuth App
中设置的 redirect_url
,然后后端通后路由获取到前端code参数并 access token:
- 获取令牌(token)
require('isomorphic-unfetch')
const oauth=async (ctx, next) => {