开放式授权基本知识
名称
全称:open Authorization 简称:Oauth认证
当前平台在不知道第三方用户的账号和密码的情况下允许当前用户进入到自己的平台,并赋予他一定的权限!
应用场景
一个公司把用户开放给其他公司(QQ开放给各个blog平台)
一个公司把用户开放给本公司其他系统(阿里一账号登录系统)
工作原理
请求QAuth 登录页 Request Token Url
带有特定参数的url(慕课网在qq登录申请的appid,key)
参数 | 注释 |
---|---|
client_id | appId |
redirect_url | 回调地址 |
client_id (AppId) redirect_uri 回调地址(地址在QQ也已经备案和APPId存在绑定关系)
用户使用QQ号登录并授权
成功登录 回调链接会有一个code参数 拼接到回调地址中
用户使用QQ号登录并授权- 返回登录结果
为了确保code是被合法用户获取用户授权的令牌请求服务地址用户QQ登录授权后需要请求一个带有特定参数的URL 拿code去换 token (client_id client_secret code)code 会过期 只可以使用一次 5s->60S 时间较短 很短时间内拿code破解 拼接去换token 提高安全性
响应数据 可能是XML 或者json AccessToken