前后端分离之授权登录
2020-11-18 13:36:33 26 举报
登录查看完整内容
一般网页授权(仅登录)
作者其他创作
大纲/内容
AT存在则更新不存在则创建
发送短信
重定向:回跳地址2 + code值
用AT调用授权WEB
创建AT
修改手机号
重定向状态 + 授权地址
公众号授权
用户中心
前端
根据appKey组装网页授权地址
已登录
发送验证码
检查用户绑定手机号AuthorizeService.checkBindMobile
APP登录
返回校验结果前端控制是否重新进入绑定手机号
补全AT的用户信息
用户信息
授权WEB
微信
生产地址 /getAuthCodecode: 第三方授权码c:业务页地址(任何环境)
设置授权地址2的回跳地址
wx.login
validToken
业务WEB
重定向状态 + 授权地址2
包装/getAuthCode跳转地址
认证接口 /authparam:{ authType:终端类型 appKey: 公众号标识 authScope: silence/force authCode:授权码}
重定向到微信
认证接口 /authparam:{ authType:终端类型 appKey: 公众号标识 authScope: silence/force}
认证用户接口 /auth_user[head] accessTokenparam:{ userData:加密用户数据}
网关
缓存AT
用户扩展信息
重定向操作:c地址+code值
认证接口 /authparam:{ authType:终端类型 encMem:加密会员号}
获取用户信息AuthorizeService.expandUserInfo
解密用户
head中带AT请求业务
登录凭证code
校验登录验证码/mobile_login_verify[head] accessTokenparam:{ authType:终端类型 mobile:登录手机号 validToken:验证令牌 validCode:验证码}
发送登录验证码/mobile_login_send_code[head] accessTokenparam:{ authType:终端类型 mobile:登录手机号}
获取AT缓存的用户信息
校验验证码AuthorizeService.verifyMobileValidCode
绑定手机号
获取用户信息AuthorizeService.getUserInfo
注:AT=AccessToken
解析authCode
请求体注入用户信息
用户openId
APP授权
登录预校验/mobile_login_check[head] accessTokenmobile
解密数据处理数据
加密用户数据
状态码:未登录
发送验证码AuthorizeService.sendMobileValidCode
用户明文信息(含手机号)
认证接口 /authparam:{ authType:终端类型 appKey: 小程序标识 authCode:登录凭证}
用户输入验证码
小程序
存在AT则与AT的用户绑定
auth.code2Session
校验成功
小程序授权
wx.getUserInfo
修改绑定手机号
带code请求业务地址
0 条评论
回复 删除
下一页