微信小程序授权获取getPhoneNumber 返回的 code
时间: 2023-12-04 16:05:32 浏览: 169
微信小程序授权获取手机号码的流程是这样的:
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)发送给自己的服务器,解密得到用户的手机号码。
需要注意的是,用户必须在微信客户端中打开小程序并授权获取手机号码才能成功获取手机号。
微信小程序 getphonenumber
微信小程序提供了getphonenumber的接口,用于获取用户的手机号码。该接口需要用户授权才能进行调用。
在小程序中使用getphonenumber的流程大致如下:
1. 首先,小程序需要在app.json中进行配置,添加"feature": {"needProcessPhoneNumber": true},来开启对手机号的处理。
2. 在小程序的页面中,需要引入获取手机号的按钮,并注册绑定其点击事件。
3. 当用户点击获取手机号按钮时,小程序会弹出授权窗口,询问用户是否允许获取其手机号码。
4. 用户授权后,小程序通过调用wx.login()接口获取用户的登录凭证code。
5. 小程序使用该登录凭证code,再调用wx.request()接口向微信服务器发送请求,获取用户的手机号码。
6. 微信服务器会根据该登录凭证code验证用户的身份,然后返回用户的手机号码给小程序。
7. 小程序接收到用户的手机号码后,可以进行后续的业务处理,例如绑定账号、发送验证码等。
需要注意的是,由于涉及到用户隐私,因此在获取手机号码前需经过用户的允许,并且在获取到手机号码后需要妥善处理,保证用户的信息安全。
以上是关于微信小程序getphonenumber的简要介绍。在实际开发中,我们可以根据具体的业务需求,结合微信官方提供的文档和示例代码,进行具体的接口调用和处理。
阅读全文