snsapi_userinfo
时间: 2024-01-01 08:14:51 浏览: 28
snsapi_userinfo 是微信公众号开发中授权方式之一,可以获取用户的基本信息(昵称、头像等)和用户在公众号内的操作权限。使用此方式需要用户在进入公众号时授权,授权后可获取用户的 openid 和 access_token,通过 openid 可以唯一识别用户,access_token 可以用于调用微信公众平台的接口。
相关问题
微信公众号网页授权代码开发步骤
微信公众号网页授权是指用户在微信客户端内访问第三方网页时,第三方网页可以通过微信授权获取用户基本信息的功能。下面是实现微信公众号网页授权的代码开发步骤:
1. 准备工作
在微信公众平台上,开发者需要先获取到自己的公众号AppID和AppSecret,并且在公众号后台设置授权回调域名。
2. 获取授权链接
在第三方网页中,用户点击授权按钮后,需要跳转到微信授权页面,获取用户授权。在获取授权链接时,需要拼接以下参数:
```
appid:公众号AppID
redirect_uri:授权回调页面
response_type:固定值code
scope:snsapi_base或snsapi_userinfo
state:可以是任意字符串,用于维护请求状态,防止CSRF攻击
```
其中,scope有两个取值:
- snsapi_base:静默授权,只能获取到用户的openid。
- snsapi_userinfo:需要用户手动同意授权,可以获取到用户的基本信息。
拼接完参数后,通过urlEncode进行编码,得到授权链接。
3. 用户授权
用户跳转到微信授权页面后,需要手动同意授权。授权成功后,微信会将code参数传回授权回调页面。
4. 获取access_token和openid
通过code参数获取access_token和openid。拼接以下链接,使用GET方法请求即可:
```
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=APPSECRET&code=CODE&grant_type=authorization_code
```
其中,APPID和APPSECRET为公众号的AppID和AppSecret,CODE为授权回调页面传回的code值。
5. 获取用户信息
如果scope取值为snsapi_userinfo,可以通过access_token和openid获取用户基本信息。拼接以下链接,使用GET方法请求即可:
```
https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
```
其中,ACCESS_TOKEN为上一步获取的access_token,OPENID为上一步获取的openid。
以上就是微信公众号网页授权的代码开发步骤。
uni的小程序项目怎么做微信授权
要在Uni小程序中使用微信授权,你需要进行以下步骤:
1. 在微信公众平台上创建应用,并在开发者中心中获取AppID和AppSecret。
2. 在Uni小程序的manifest.json文件中添加微信登录的权限配置,如下所示:
```
"mp-weixin": {
"appid": "你的AppID",
"scope": "snsapi_userinfo",
"oauth": {
"scope": "snsapi_userinfo",
"bindAccount": false
}
}
```
其中,appid为你在微信公众平台上创建应用时获取的AppID,scope为授权作用域,snsapi_userinfo表示需要用户授权获取个人信息,oauth为授权配置,bindAccount为是否绑定微信开放平台帐号。
3. 在Uni小程序中使用uni.login()方法获取临时登录凭证code,并将code发送给后端服务器。
4. 后端服务器使用code和AppSecret向微信服务器请求获取access_token和openid等用户信息。
5. 后端服务器使用access_token和openid等信息向微信服务器请求获取用户个人信息。
6. 将用户个人信息返回给Uni小程序,实现微信授权登录。
需要注意的是,微信授权登录需要用户在微信客户端中打开,所以在Uni小程序中需要使用uni.navigateToMiniProgram()方法跳转到微信客户端进行授权操作。