SSO 微信登录解析

2018-05-10  本文已影响0人  ryancao_b9b9

一、应用背景

第三方应用无需注册,用户可以直接使用微信账号登录,吸引用户使用。

二、交互流程

1、简单过程

a.拿code

b.用code换access_token

c.用access_token换用户相关信息(头像、openid)

d.登录成功

时序图

2、详细过程

a:请求CODE

第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数

https://open.weixin.qq.com/connect/qrconnect?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect 

若提示“该链接无法访问”,请检查参数是否填写错误 

b:通过code获取access_token

通过code参数加上AppID和AppSecret等,通过API换取access_token

https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

正确返回内容

{

"access_token":"ACCESS_TOKEN",

"expires_in":7200,

"refresh_token":"REFRESH_TOKEN",

"openid":"OPENID",

"scope":"SCOPE",

"unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL"

}

c:通过access_token调用接口

通过access_token进行接口调用,获取用户基本数据资源或帮助用户实现基本操作

进行接口调用前提: 

1. access_token有效且未超时; 

2. 微信用户已授权给第三方应用帐号相应接口作用域(scope)

上一篇 下一篇

猜你喜欢

热点阅读