微信企业号第三方应用开发[四]——用户登录应用

leapMie leapMie     2022-08-03     148

关键词:

应用被授权方企业号授权后,授权方企业号用户即可以登录应用。至此,接入企业号第三方应用的开发到了最后一步——获取登录用户信息。

 

在企业号开发中要获取用户信息,需要获取到用户经OAuth2.0验证时生成的code与企业号的corpid。在企业号第三方应用中也是需要得到这两个参数才能调用之后的一系列接口,特别的是,在企业号开发中corpid是自己的企业号固定的corpid,而企业号第三方应用要获取的则是授权方企业号corpid。

 

一、获取OAuth2.0的用户身份code

OAuth2.0验证接口说明

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

 

通过此接口获取成员身份会有一定的时间开销。对于频繁获取成员身份的场景,建议采用如下方案:

1、企业应用中的URL链接直接填写企业自己的页面地址

2、成员跳转到企业页面时,企业校验是否有代表成员身份的cookie,此cookie由企业生成

3、如果没有获取到cookie,重定向到OAuth验证链接,获取成员身份后,由企业生成代表成员身份的cookie

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

 

注意,此URL的域名,必须完全匹配企业应用设置项中的'可信域名'(如果你的redirect_uri有端口号,那'可信域名'也必须加上端口号),否则跳转时会提示redirect_uri参数错误。

 

企业获取code

企业如果需要员工在跳转到企业网页时带上员工的身份信息,需构造如下的链接:

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

  • 参数说明
参数必须说明
appid 企业的CorpID
redirect_uri 授权后重定向的回调链接地址,请使用urlencode对链接进行处理
response_type 返回类型,此时固定为:code
scope 应用授权作用域,此时固定为:snsapi_base
state 重定向后会带上state参数,企业可以填写a-zA-Z0-9的参数值,长度不可超过128个字节
#wechat_redirect 微信终端使用此参数判断是否需要带上身份信息

员工点击后,页面将跳转至 redirect_uri?code=CODE&state=STATE,企业可根据code参数获得员工的userid。

 

假设我们处理登录逻辑的路径为http://AAA.com/api/weixin/login.do

 

在设置应用的主页路径时我们可以设置为OAuth验证的路径,而主页URL又支持$CORPID$模板,所以我们可以设置主页URL如下

https://open.weixin.qq.com/connect/oauth2/authorize?appid=$CORPID$&redirect_uri=http%3A%2F%2FAAA.com%2Fapi%2Fweixin%2Flogin.do&response_type=code&scope=snsapi_base&state=1#wechat_redirect

 

二、获取corpid

经过OAuth验证后跳转的路径为页面将跳转至 redirect_uri?code=CODE&state=STATE,URL中我们只能获取到code,我们更希望跳转后的路径是redirect_uri?corpid=CORPID&code=CODE&state=STATE,从而把corpid一并获取。

考虑到URL支持$CORPID$模板,逻辑上是会把我们配置的URL中所有$CORPID$字段转换成授权方企业号的corpid,所以我们把redirect_uri改为如下

http://AAA.com/api/weixin/login.do?corpid=$CORPID$

而$CORPID$应该是url转码后再加入,以防止$符号被编码,所以最后我们得出的主页URL为

https://open.weixin.qq.com/connect/oauth2/authorize?appid=$CORPID$&redirect_uri=http%3A%2F%2FAAA.com%2Fapi%2Fweixin%2Flogin.do%3Fcorpid%3D$CORPID$&response_type=code&scope=snsapi_base&state=1#wechat_redirect

 

得到corpid后我们即可根据企业号第三方应用接口获取到授权方企业的AccessToken,进而获取授权方企业号的用户信息。

 



[目录]

[上一篇]微信企业号第三方应用开发[三]——授权应用

 


 消息:新博客地址 blog.leapmie.com,以后的更新都会在新博客首发,感谢支持~(园子视情况更新)


 

.net之微信企业号开发企业号人员身份认证与开发

...名密码进行登录的。。。2333但是,这样所就完全失去了微信企业号的意义,本来进入微信企业号的时候,就已经对人员身份进行认证了,你这里再让别人登录,不是显得多余么?于是,需要考虑的是,如何获取微信企业号中用... 查看详情

微信企业号回调模式验证与发送消息

最近放假闲着无聊,研究了一下微信企业号,打算通过企业号做一个运维报警信息发送的功能,记录自己的操作 第一步注册企业号,网上一搜一大把的教程,这里略过 微信企业号登录地址 https://qy.weixin.qq.com/ 第... 查看详情

腾讯系:微信,公众号,小程序,企业微信开发知识概括(代码片段)

...企业微信公众号小程序微信开放平台总结企业微信第三方应用开发(sass服务商):概述:第三方应用接口旨在方便企业微信管理员通过简单的操作来使用第三方服务商的云应用。实现该目标的核心的机制是:服务商预先... 查看详情

微信公众号扫码登录——获取微信公众号二维码(代码片段)

...限进行学习测试;微信开放平台是微信为了接入更多第三方应用而开放的接口,对于web应用,可以申请web应用,从而获取权限,但是只能是企业用户才能申请;(个人学习很不方便)两者开发文档... 查看详情

微信企业号开发[一]——创建应用

...面,后续文章中将对填写的URL进行改造4、成功创建后在微信中打开企业号即可看见已创建的应用 [目录][下一篇]微信企业号开发[二]—& 查看详情

微信应用号邀请码申请,小程序内测资格

会不会涌现出大的微信第三方例如:小猪CMS你可以通过微信认证第三方开发商获取微信小程序,比如沈阳西里奥布科技有限公司。首先在微信公众平台官网首页点击右上角的“立即注册”按钮。选择注册的帐号类型选择“小程序... 查看详情

微信企业号开发:微信用户信息和web网页的session的关系

   微信企业号的用户是须要验证的,因此能关注企业号的用户事实上就是已经通过验证的用户。但企业应用中打开一个网页,在这个网页中怎样依据微信用户的信息创建web应用中最长使用的session呢?微信用户怎样和we... 查看详情

企微获取用户敏感数据(代码片段)

...,除通讯录同步以外的基础应用(如客户联系、微信客服、会话存档、日程等),以及新创建的自建应用与代开发应用,调用该接口时,不再返回以下字段:头像、性别、手机、邮箱、企业邮箱、员工... 查看详情

开发微信小程序的具体流程都有哪些?

...是个人或者小公司想开发微信小程序,也可以找微信认证第三方开发商,比如赢在移动、正品科技等。1、微信小程序注册在微信公众平台官网首页,按照提示点击右上角的“立即注册”按钮,里面总过有12步,按照要求提交就可... 查看详情

微信小程序小游戏怎么开发?

...是个人或者小公司想开发微信小程序,也可以找微信认证第三方开发商,比如赢在移动、正品科技等。1、微信小程序注册在微信公众平台官网首页,按照提示点击右上角的“立即注册”按钮,里面总过有12步,按照要求提交就可... 查看详情

.net之微信企业号开发回调模式的接口开发

一、前言  微信企业号应用中,有两种模式,一种是普通模式,这种模式只能进行简单网页链接,以及发送固定的消息。为了可以让企业号的用户更好的与应用交互,微信提供了回调模式,这种回调模式的可以将用户发送给微... 查看详情

微信应用号开发教程

...「服务号」改造成为「小程序」?我们暂时以一款简单的第三方工具的实例,来演示一下开发过程吧。(公司的项目保密还不能分享代码和截图。小白是边加班边偷偷给大家写教程。感谢「名片盒」团队提供他们的服务号来动这... 查看详情

关于微信小程序里面this.setdata到底怎样或运行的

...是个人或者小公司想开发微信小程序,也可以找微信认证第三方开发商,比如赢在移动、正品科技等。1、微信小程序注册在微信公众平台官网首页,按照提示点击右上角的“立即注册”按钮,里面总过有12步,按照要求提交就可... 查看详情

java实现微信扫码登录(代码片段)

...程说明微信OAuth2.0授权登录让用户使用微信身份安全登录第三方应用或网站,在微信用户授权登录已接入微信OAuth2.0的第三方应用后,第三方可以获取到用户的接口调用凭证(access_token),通过access_token可以进... 查看详情

怎样注冊一个微信公众号

微信公众号分为以下几类:服务号:给企业和组织提供更强大的业务服务与用户管理能力,帮助企业高速实现全新的公众号服务平台。订阅号:为媒体和个人提供一种新的信息传播方式,构建与读者之间更好的沟通与管理模式。... 查看详情

微信公众平台应用号开发教程

...务号」改造成为「小程序」?我们暂时以一款简单的第三方工具的实 查看详情

微信公众平台应用号开发教程

...务号」改造成为「小程序」?我们暂时以一款简单的第三方工具的实例,来演示一下开发过程吧—— 序言开始开发应用号之前,先看看官方公布的「小程序」教程吧!(以下内容来自微信官方公布的「小程序... 查看详情

企业号员工自动绑定到应用

1、根据应用系统里用户的telephone或email的唯一性进行绑定。2、用户点击应用》拉取code》拉取userid》拉取telephone及email参考:https://work.weixin.qq.com/api/doc#10028(网页授权登录)  3、根据拉取到的telephone及email与应用的userinfo... 查看详情