微信-扫码登录流程(完整)
2023-08-21 11:00:51 0 举报
微信-扫码登录流程(完整)
作者其他创作
大纲/内容
3.1 扫描二维码并点击授权
3.4 校验用户是否绑定携带code
4.9 返回heimddallTokenaccess_token、openId、unionId微信用户信息:如头像昵称等
3.9 微信登录失败
微信用户信息数据,保存至rediskey:heimdall:wechat:identityId:${identityId}:openId:${openId}value:微信用户数据expire:1d根据身份Id和openId获取到数据则直接返回,未获取到才会请求微信数据,之后再进行缓存
业务前端
4.4 返回校验结果
4.5 校验成功跳4.7 校验失败跳4.6
3.18 校验用户名/密码手机号/.验证码
3.15 输入用户名密码、验证码(如果有)
3.19 返回校验结果
1.2 获取二维码生成的必要参数
3.29 绑定业务方自己的信息
3.11 跳转绑定页面(微信公众号)
4.7 使用用户名免密登录
3.5 根据code获取微信授权码access_tokenhttps://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=APPSECRET&code=CODE&grant_type=authorization_code
3.23 判断微信返回结果获取成功跳4.1获取失败跳3.24
4.12 保存HeimdallToken,并跳转到目标业务页面
3.20 校验成功跳4.1校验失败跳3.21
3.14 发送验证码
3.24 微信信息获取失败
3.22 凭证校验失败,请检查后重新输入并重新跳到3.12 重新开启绑定流程
3.26 登录失败
4.8 认证成功返回HeimdallToken
heimdall-wechat
3.27 绑定用户与openId、uniqueId的关系
1.3 返回 appid、scope、redirect_uri、state
3.21 凭证校验失败
4.13 登录成功
微信用户
3.6 校验unionId 在heimdall是否存在绑定关系存在绑定,跳 4.1未绑定跳 3.7
3.8 判断heimdall返回错误码错误码为0,跳4.1错误码为微信未绑定,跳3.10其他错误码,跳3.9
3.28 绑定成功
微信开发平台
2. 初始化二维码
3.17 请求微信绑定接口携带身份类型、用户名密码、手机号、验证码(如果有)、access_token、openId
3.21 获取微信用户信息https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID
3.3 校验state参数
4.10 业务查询自己保存的业务信息,并将返回信息进行组合后返回给前端
3.16 携带用户名密码、手机号验证码(如果有)、access_token、openId请求微信绑定接口
微信登录流程Code:微信网页授权OAuth2.0机制里的临时凭证。Access_token:微信网页授权接口调用的凭证,需要用code获取。Openid:微信用户在每个公众号里的唯一标识。unionId:微信用户在微信平台的唯一标识。token:Heimdall系统登录完成后生成的heimdall系统访问令牌
业务方微信服务
heimdall认证
3.22 返回微信用户信息
4.2 查询是否存在绑定关系存在跳4.3不存在跳3.10
3.2 用户允许授权后,将携带上code和state参数,重定向到redirect_uri的网址
3.12 获取验证码(如果需要)
4.6 access_token、openId校验失败
3.25 获取微信信息失败
4.3 校验access_token与openId是否正确https://api.weixin.qq.com/sns/auth?access_token=ACCESS_TOKEN&openid=OPENID
1.1 嵌入微信二维码SDK
3.10 返回报错:微信未绑定,请先进行绑定并返回access_token、openId、uniqueId
4.1 微信oauth2登录access_token、openId、unionId
4.11 返回heimdallToken以及微信用户信息用户业务信息
3.13 请求heimdall发送验证码
收藏
0 条评论
回复 删除
下一页