Oauth2.0-授权码模式第三方登陆
2020-07-30 19:06:21 8 举报
AI智能生成
oauth2.0-授权模式
作者其他创作
大纲/内容
流程图
授权模式
授权码模式:(Authorization Code)
多用于第三方认证登陆
博客注册、邮箱注册
授权流程 例:注册博客
1.客户端访问博客网页,选择微信授权注册博客章账号
2.点击微信授权登陆
3.博客网页发送请求给微信,申请授权码认证
>1. 按照微信开放平台接口规范进行请求
> 2. 携带AppId,(商家自身/博客的Id)
> 3. 认证方式(response_type)----code(授权码)
> 4. 若用户确认授权,微信开放平台回调博客网站的redirect_uri接口
4. 微信开放平台响应返回二维码图片
5. 用户扫描二维码,点击确认给博客授权
6. 微信开放平台回调博客登录接口redirect_uri,携带授权码code=CODE&状态state=STATE
7. 博客登录接口获取授权码,code的value
8.博客后台服务(登陆service),需携带授权码code请求微信开放平台申请令牌token
> 1. appid
商户id
> 2. secret
密钥
> 3. code
授权码
> 4. grant_type:authzarition_code
授权类型:授权码类型
9. 微信开放平台校验通过,给博客响应(令牌)accessz_token
10.博客携带令牌access_token请求微信开放平台获取当前注册用户信息
snsapi_userinfo/sns/userinfo
11.博客从微信获得当前用户信息,提取博客平台所需用户信息
若未提取到所需所需用户信息,则需自动注册用户信息到博客的用户表并关联微信用户信息,如果需要用户补充必要信息,则跳转用户数据绑定界面
12. 用户登陆成功,将博客自己的用户数据根据规则生成jwt令牌保存到redis,生成一个博客自己办法的accexss_token短令牌返回给前端,用于下次用户访问博客做后台身份认证
密码模式:(Resource Owner Password Credentials)
多用于内部验证登录
无需获取授权码
一个公司,集团内部使用
例:阿里旗下的淘宝、天猫等
密码模式与授权码模式的区别:
申请令牌
授权码模式:需要授权码
密码模式:无需授权码,直接通过用户名和密码即可申请
实际应用场景几乎不会用到oauth2.0的密码模式
隐式授权模式: (Implicit)
客户端模式: (Client Credentials)
0 条评论
下一页