OAuth 授权登录实现

授权登录 常见于开放平台和单点登录等场景,今天为 youmaibai.com 实现了一个,流程如下:

  1. 由授权网站 A(即 youmaiba.com)颁发 appidsecretkey,并绑定 appidredirect_url 避免回调劫持问题;
  2. 网站 B 需要 A 授权登录,带上 appidredirect_url 跳转到 A 指定登录地址;
  3. A 验证 appidredirect_url 是否有效,登录成功后,生成授权码 authorization code,并把该码跟在 redirect_url 后回调跳转;
  4. B 得到授权码,并带上 appidsecretkey 访问 A 的验证地址;
  5. 授权码验证成功后,生成访问令牌 access token 并返回,有效期定为 1800s;
  6. B 使用访问令牌访问 A 的用户信息获取地址,获取结果。

推荐阅读更多精彩内容