企业微信web登录实现流程

通过企业微信提供的登录能力,可以让企业的网站在浏览器内打开时,引导成员使用企业微信登录授权,从而获取成员的身份信息。
在进行企业微信授权登录之前,需要先在企业的管理端后台创建一个具备“企业微信授权登录”能力的应用

联系微信:llike620

我的网站:gofly.v1kf.com

登录方式

新版企业微信登录,除了支持使用移动端企业微信扫码登录之外,还支持通过企业微信桌面端进行快速登录。
新版企业微信登录是对旧版扫码登录的能力升级,建议开发者升级接入,获得更好的登录体验。

企业微信登录流程

开启网页授权登录

登录 企业管理端后台->进入需要开启的自建应用->点击 “企业微信授权登录”,进入如下页面
然后点击 "设置授权回调域",输入回调域名,点击“保存”。
要求配置的授权回调域,必须与访问链接的域名完全一致。举个例子:
  • 假定重定向访问的链接是:http://mail.qq.com:8080/cgi-bin/login:
配置域名 是否正确 原因
mail.qq.com:8080   配置域名与访问域名完全一致
email.qq.com   配置域名必须与访问域名完全一致
support.mail.qq.com   配置域名必须与访问域名完全一致
*.qq.com   不支持泛域名设置
mail.qq.com   配置域名必须与访问域名完全一致,包括端口号
http://mail.qq.com:8080   不包括协议头

构造企业微信登录链接

同时支持通过构造链接的方式,在新窗口中打开企业微信登录页面,用户使用企业微信登录授权后通过将携带 auth code 跳转至指定的 redirect_uri

链接格式

开发者需要构造如下的链接来获取 code 参数
https://login.work.weixin.qq.com/wwlogin/sso/login?login_type=LOGIN_TYPE&appid=APPID&redirect_uri=REDIRECT_URI&state=STATE

参数说明

参数名 类型 必填 说明
login_type string 登录类型。
ServiceApp:服务商登录;CorpApp:企业自建/代开发应用登录。
appid string 登录类型为企业自建应用/服务商代开发应用时填企业 CorpID,第三方登录时填登录授权 SuiteID
agentid string 企业自建应用/服务商代开发应用 AgentID,当login_type=CorpApp时填写
redirect_uri string 登录成功重定向 url,需进行 URLEncode
注意域名必须配置为可信域名,详见下文的“redirect_uri域名说明”
state string 登录 state
用于保持请求和回调的状态,授权请求后原样带回给企业。该参数可用于防止CSRF 攻击(跨站请求伪造攻击),建议带上该参数,可设置为简单的随机数加 session 进行校验
需进行 URLEncode
lang string 语言类型。zh:中文;en:英文。
redirect_uri域名说明 redirect_uri的域名必须配置为可信域名,不同应用类型的配置方法不同,具体如下
应用类型 域名配置方法
自建应用 OAuth可信域名或者Web网页授权回调域名
代开发应用 OAuth可信域名或者Web网页授权回调域名
第三方应用 “登录授权”的可信域名
返回说明 用户允许授权后,将会重定向到 redirect_uri 的网址上,并且带上 codestate 参数
redirect_uri?code=CODE&state=STATE
企业CorpID:WWCorpId
开启授权登录的应用ID:1000000
登录跳转链接:http://work.weixin.qq.com
state设置为:WWLogin
需要配置应用授权回调域名为:work.weixin.qq.com

根据URL规范,将上述参数分别进行UrlEncode,得到拼接的登录链接为:
https://login.work.weixin.qq.com/wwlogin/sso/login?login_type=CorpApp&appid=WWCorpId&agentid=1000000&redirect_uri=http%3A%2F%2Fwork.weixin.qq.com&state=WWLogin

获取用户登录身份

该接口可使用用户登录成功颁发的code来获取成员信息,适用于自建应用与代开发应用
请求方式:GET(HTTPS请求地址:https://qyapi.weixin.qq.com/cgi-bin/auth/getuserinfo?access_token=ACCESS_TOKEN&code=CODE 参数说明:
参数 必须 说明
access_token 调用接口凭证
code 通过成员授权获取到的code,最大为512字节。每次成员授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期。
权限说明: 跳转的域名须完全匹配access_token对应应用的可信域名,否则会返回50001错误。 返回结果: a) 当用户为企业成员时(无论是否在应用可见范围之内)返回示例如下:
{   "errcode": 0,   "errmsg": "ok",   "userid":"USERID"}
参数 说明
errcode 返回码
errmsg 对返回码的文本描述内容
userid 成员UserID。若需要获得用户详情信息,可调用通讯录接口:读取成员
posted @ 2025-07-31 10:23  唯一客服系统开发笔记  阅读(27)  评论(0)    收藏  举报