相信开发过企业微信应用的同行们,刚开始都会疑惑企业微信的身份验证模块下的两个模式:
- 网页授权登录
- 扫码授权登录
分别讲一下各自的流程
网页授权登录
用户点击在企业微信终端(包括PC端和移动端)应用里的的URL(该URL形如:https://open.weixin.qq.com/connect/oauth2/authorize?appid=CORPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&agentid=AGENTID&state=STATE#wechat_redirect
),该链接会被企业微信官方后台解析并校验,如果通过了,终端会跳转到上面URL里的REDIRECT_URI
并带上一个code,企业微信应用可以根据这个code换取用户的userid和user_ticket(前端或后端都可以实现,只要能发起https请求就可以),根据userid或user_ticket获取用户的信息,两者的区别是获取的用户信息层次不同(基本信息、敏感信息)。
扫码授权登录
用户在任何平台的浏览器上扫二维码,并在手机上确认授权,经过企业微信官方后台解析并校验,如果通过了,终端会跳转到一个URL并带上一个code,接下来就跟网页授权登录差不多了。
二维码有两种方式设置,一种是跳转到另一个网页,这个网页上有二维码;另一种是二维码是附在你的网页上的,不需要跳转到另一个网页。
两种模式度可以抽象为如下几个步骤:
- 请求code,两者是不一样的,一个是通过点击终端URL,一个是通过在扫浏览器上的二维码
- 获取用户信息,两者是一样的,都是根据code通过https请求去获取用户的信息
这两种模式的一些其他区别如下:
网页授权 | 扫码授权 | |
---|---|---|
场景 | 指企业微信终端(包括PC端和移动端) | 任何平台的浏览器上都可以 |
前置操作 | 不需要 | 需要“设置授权回调域” |
对第三方服务商的支持 | 支持 | 不支持 |
网友评论