微信小程序授权获取getPhoneNumber 返回的 code
时间: 2023-12-04 08:05:32 浏览: 201
微信小程序授权获取手机号码的流程是这样的:
1. 用户点击授权按钮,小程序调用 `wx.login()` 接口获取登录凭证 code。
2. 小程序将 code 发送到开发者服务器,开发者服务器通过 code 调用微信后台接口获取 session_key 和 openid。
3. 开发者服务器将 session_key 和 encryptedData(包含手机号码等敏感信息)发送到小程序端。
4. 小程序调用 `wx.decryptData()` 接口解密 encryptedData,获取手机号码等信息。
在这个流程中,返回的 code 是用于获取 session_key 和 openid 的凭证,而不是用于获取手机号码的凭证。获取手机号码需要将 code、encryptedData 和 iv 一起传给 `wx.decryptData()` 接口。
相关问题
微信小程序授权获取手机号
微信小程序授权获取用户手机号的流程如下:
1. 在小程序开发后台中,开发者需要在“设置-开发设置-服务器域名”中设置合法的服务器域名,并在小程序中调用 wx.login() 方法获取用户的 code。
2. 接下来开发者需要向微信服务器发起 HTTPS 请求,请求地址为 https://api.weixin.qq.com/sns/jscode2session,请求参数包括 appid、secret、js_code 和 grant_type,其中 js_code 为上一步获取的 code,grant_type 固定为 "authorization_code"。微信服务器会返回 openid 和 session_key 等信息。
3. 接下来开发者在小程序中引入微信提供的获取手机号的组件 <button open-type="getPhoneNumber"/>,并在组件的 bindgetphonenumber 回调函数中处理获取到的手机号码信息。
4. 在回调函数中,开发者需要将获取到的加密数据(encryptedData)和偏移量(iv)发送给自己的服务器,解密得到用户的手机号码。
需要注意的是,用户必须在微信客户端中打开小程序并授权获取手机号码才能成功获取手机号。
微信授权微信小程序获取手机号
微信授权微信小程序获取手机号的过程如下:
1. 用户打开小程序并点击授权登录按钮。
2. 小程序调用`wx.login`接口获取用户的临时登录凭证code。
3. 小程序将code发送给开发者后台服务器。
4. 开发者后台服务器使用code调用微信接口`auth.code2Session`获取用户的唯一标识openid和会话密钥session_key。
5. 开发者后台服务器将openid和session_key返回给小程序。
6. 小程序调用`wx.getPhoneNumber`接口弹出授权获取手机号的弹窗。
7. 用户在弹窗中选择是否授权。
8. 如果用户同意授权,小程序调用`wx.getUserInfo`接口获取用户信息,其中包括加密的手机号信息。
9. 小程序将加密的手机号信息发送给开发者后台服务器。
10. 开发者后台服务器使用session_key解密手机号信息,获取用户的手机号。
阅读全文