企微网页授权登录

企微网页授权登录

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

一、授权方式:

静默授权:用户点击链接后,页面直接302跳转至 redirect_uri?code=CODE&state=STATE

手动授权:用户点击链接后,会弹出一个中间页,让用户选择是否授权,用户确认授权后再302跳转至 redirect_uri?code=CODE&state=STATE

二、具体实现步骤:

前端:

1.构造网页授权链接,获取code

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

链接中粗体是需要替换的,参数说明如下

REDIRECT_URI 即为申请的外网可以访问的域名,与授权登录,配置可信域名的地址保持一致
在这里插入图片描述

可以在应用管理页面,将拼接好的授权链接放在应用主页,打开应用时会直接重定向至应用部署的地址。
在这里插入图片描述
在这里插入图片描述

2.根据code调用后台接口请求用户信息

这样就不用在前端代码里请求,只需要在页面刚进去获取一下code:

// 判断当前页面URL中是否包含code参数
		const isLogin = location.href.search('code=') !== -1
		if (isLogin) {
			// 获取本地存储的用户信息
			this.userInfo = JSON.parse(localStorage.getItem('userInfo'))
			if (!this.userInfo) {
				// 获取code参数的值
				const code = location.href.split('code=')[1].split('&')[0]
				// 在这里发送请求获取用户信息
			}
		}

后端

后端收到请求后需要:
1.获取access_token
企微官方接口 获取access_token
在这里插入图片描述
2.根据code和access_token获取当前访问的员工的信息 包括userId 和用户票据user_ticket
企微官方接口 获取用户信息

在这里插入图片描述
3.通过user_ticket/userId获取用户敏感信息。之后返回给前端

企微官方接口 获取用户敏感信息
在这里插入图片描述
为了安全考虑,开发者请勿将access_token返回给前端,需要开发者保存在后台,所有访问企业微信api的请求由后台发起

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值