企业微信H5授权登录

在企业中如果需要在打开的网页里面携带用户的身份信息,第一步需要获取code参数

如何实现企业微信H5获取当前用户信息即accessToken?

1.在应用管理--》创建应用

2.创建好应用,点击应用主页-》设置-》网页-》将授权链接填上去

官方文档可以看这---->构造网页授权链接 - 接口文档 - 企业微信开发者中心

https://open.weixin.qq.com/connect/oauth2/authorize?appid=ww72c853a9xxxx54&redirect_uri=http%3A%2F%2F47.xxx.179.198%3A6379%2F%23%2F&response_type=code&scope=snsapi_base&state=STATE&agentid=AGENTID#wechat_redirect

ww72c853a9xxxx54  是你企业的APPID  
http%3A%2F%2F47.xxx.179.198%3A6379%2F%23%2F  是你经过UrlEncode的网站,要跳转的地址
 

以上的案例只需要改动 appid和redirect_uri的值

APPID可以去我的企业,底部的企业ID去获取

redirect_uri 就是我们开发的网站 然后记住 请使用urlencode对链接进行处理

3.记得加在开发者接口-》网页授权-》设置可信任域名 上白名单 要不然会以下报错

企业微信报错 redirect_uri需使用应用可信域名

1.必须是域名 不支持ip

2.不用加http 协议头

PS:前面设置错了,后来专门配置了个域名(www.xxxx.com.cn)

4.在我的应用点击打开,如果跳转到redirect_uri 就说明配置成功了

以下就是重定向的地址,多了2个参数我们要拿到code值去传给后端进行登录

https://www.xxxx.com.cn/html?code=J2jO8plZ_LNeoZjW_Z21rDlHJTYylOHqcvoo0JqLoGc&state=STATE#/

获取重定向code,得到accessToken

<template>
	<view class=" ">
		<view class=" ">
			<p>
				url:<input type="text" v-model="title"/>
			</p>
			<p>
				code:<input type="text" v-model="code"/>
			</p>
			<p>
				accessToken:<input type="text" v-model="accessToken"/>
			</p>
			
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				title: '',
				accessToken:"",
				code:"",
				
				baseUrl:'https://www.xxxxx.com.cn/shebao', 
			}
		},
		onLoad() {
			this.code=this.getUrlParams('code')
			
			this.getAccessToken()
		},
		mounted() {
			var currentUrl = window.location.href;
			this.title=currentUrl			
		},
		methods: {		
			// 获取token
			getAccessToken(){
				let _this=this
				uni.request({
					url:this.baseUrl+'/qw/callback',
					data: {
						code:this.code
					},
					success(res){
						console.log(res.data);
						let result=res.data
						if(result.code==200){
							_this.accessToken=result.result	
							
						}
					}
				})
			},
			//获取url的code
			getUrlParams(name){
				try{
					// 获取当前页面的URL
					var url = window.location.href.split('?')[1];
					console.log(url)
					let query= url.split('&')
					console.log(query)
					let code=''
					for (var i = 0; i < query.length; i++) {
						if(query[i].split('=')[0]==name){
							code=query[i].split('=')[1]
							break
						} 
					}
					return code
				}catch(e){
					return ''
				}
			   
			},
		}
	}
</script>

<style lang="scss">

	
 input{
	 background-color: antiquewhite;
 }
</style>

这样在页面展示一下当前url,并获取到了code,再调用后端接口获取token。

至此完成了我们的授权登录

企业微信H5授权登录获取accessToken

  • 11
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
要在微信H5页面实现微信授权登录,可以按照以下步骤进行操作: 1. 在微信公众平台上申请开发者账号,并创建一个用于开发的公众号。 2. 在公众号设置中,将“网页授权域名”设置为你的H5页面所在的域名。 3. 引入微信JS-SDK,获取JS-SDK签名。 4. 在微信开放平台申请网页授权的方式,获取到AppID和AppSecret。 5. 在后端服务器中,通过AppID和AppSecret获取access_token和openid。 6. 在前端页面中,通过微信JS-SDK的wx.config初始化配置,包括appId、timestamp、nonceStr、signature等参数。 7. 调用微信JS-SDK的wx.ready方法,初始化成功后进行接下来的操作。 8. 在前端页面中,通过微信JS-SDK的wx.checkJsApi方法,判断当前客户端版本是否支持指定的js接口,如微信登录相关接口。 9. 在前端页面中,调用微信JS-SDK的wx.login方法,显示微信登录按钮,用户点击按钮后会调用wx.login方法,获取code。 10. 前端将获取到的code通过ajax等方式发送给后端服务器。 11. 后端服务器通过code、AppID和AppSecret等参数向微信服务器发送请求,获取access_token和openid。 12. 后端服务器将获取到的access_token和openid返回给前端。 13. 前端根据获取到的access_token和openid进行相应的处理,例如获取用户信息,实现微信登录功能。 需要注意的是,以上步骤中需要在微信公众平台、微信开放平台和自己的后端服务器进行相应的配置和开发工作,确保整个流程的正确性和安全性。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三线码工

码字不易,有钱打赏,没打钱点赞

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值