授权登录 常见于开放平台和单点登录等场景,今天为 youmaibai.com 实现了一个,流程如下:
- 由授权网站 A(即 youmaiba.com)颁发
appid
和secretkey
,并绑定appid
和redirect_url
避免回调劫持问题; - 网站 B 需要 A 授权登录,带上
appid
和redirect_url
跳转到 A 指定登录地址; -
A 验证
appid
和redirect_url
是否有效,登录成功后,生成授权码authorization code
,并把该码跟在redirect_url
后回调跳转; -
B 得到授权码,并带上
appid
和secretkey
访问 A 的验证地址; - 授权码验证成功后,生成访问令牌
access token
并返回,有效期定为 1800s; - B 使用访问令牌访问 A 的用户信息获取地址,获取结果。