概述

企业微信提供了OAuth的授权登录方式,可以让从企业微信终端打开的网页获取成员的身份信息,从而免去登录的环节。

企业应用中的URL链接(包括自定义菜单或者消息中的链接),均可通过OAuth2.0验证接口来获取成员的UserId身份信息。

使用前说明

关于网页授权的可信域名

URL的域名,必须匹配企业应用设置项中的“可信域名”,否则跳转时会提示“redirect_uri参数错误” (匹配规则请看可信检验规则)。因此需要先配置应用的可信域名。

1、登录到企业管理端后台,选择“企业应用”选项卡,进入需要使用网页授权的应用并编辑“可信域名”表单项, 此选项将用于网页OAuth2.0授权的时候进行安全验证。请注意,这里填写的是域名,而不是URL, 因此请勿加 http:// 等协议头。

2、可信域名配置规范为全域名。比如需要网页授权的域名为:www.www888.org,配置以后此域名下面的页面 http://www.www888.com/music.html 、 http://www.www888.com/login.html 都可以进行OAuth2.0鉴权。 但http://blog.www888.org 、 http://liddd.www888.org 、 http://www888.org无法进行OAuth2.0鉴权

3、如果redirect_uri有端口号,那么“可信域名”也必须带上端口号。

关于UserID机制

UserId用于在一个企业内唯一标识一个用户,通过网页授权接口可以获取到当前用户的UserId信息, 如果需要获取用户的更多信息可以调用通讯录管理的成员接口来获取。

缓存方案建议

通过OAuth2.0验证接口获取成员身份会有一定的时间开销。对于频繁获取成员身份的场景,建议采用如下方案: 1、企业应用中的URL链接直接填写企业自己的页面地址

2、成员操作跳转到步骤1的企业页面时,企业后台校验是否有标识成员身份的cookie信息,此cookie由企业生成

3、如果没有匹配的cookie,则重定向到OAuth验证链接,获取成员的身份信息后,由企业后台植入标识成员身份的cookie信息

4、根据cookie获取成员身份后,再进入相应的页面