微信小程序手机号授权登录

这篇具有很好参考价值的文章主要介绍了微信小程序手机号授权登录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

微信小程序,手机号授权登录需求。

大体流程是这样的:

  1. 小程序端使用 getPhoneNumber 向微信平台获取授权
  2. 通过微信授权后,小程序端接收微信授权后的回调
  3. 小程序携带微信的回调请求自己的服务端
  4. 服务端请求微信获取手机号并将手机号回调给小程序端

小程序端

具体步骤和代码如下:

第一步:

<button class="login-btn" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">
    <text>登录/注册</text>
</button>

微信授权手机号,微信小程序,微信小程序,小程序,小程序授权登录,小程序获取手机号

必须是通过 button 组件open-type="getPhoneNumber",让用户自己手动点击按钮才能获取手机号。

第二步:
用户点击按钮同意获取手机号
微信授权手机号,微信小程序,微信小程序,小程序,小程序授权登录,小程序获取手机号

第三步:
用户允许后,通过回调方法拿到获取手机号的Code:
回调方法:

getPhoneNumber(e) {
    console.log(e)
    const _this = this
    wx.showLoading({
        title: '',
    })
    if (e.detail.errMsg == "getPhoneNumber:ok") {
		// 这里携带参数请求自己的服务器来获取手机号
		// Code ...
	}
}

打印回调参数 e :

...
currentTarget:
dataset: {}
id: ""
offsetLeft: 86
offsetTop: 34
__proto__: Object
detail:
cloudID: "69_7GVM-VkjQvoxxxoU5lW33XmDqsmxxxPazG6c5Rcfld-xxx"
code: "f446fxxx58250428xxxx017ffbdceb2b8xxx6c22948d6xxx3de52a"
encryptedData: "hY6Y+s9cxxx7t4rUWJcoQ3rf6PTnRr7/jSiK/iajrUkhZ6xxxYJ/nDLH5hIRDUwRrT0/FPxxxDVQdGO+3MBZQS8Pe1l9FPc6xxxQDLM2tR8CoyMLvGQ/ryt3mGJExxx1+kwnw+zqMsCBrV0KK6jcnlqWVhds8YjkRS30nroA=="
errMsg: "getPhoneNumber:ok"
iv: "C0mxz6xxx7qFxxxxPg=="
...

新版接口会将 cloudID , code, encryptedData, iv 等参数一并返回。

在新本中,code 是要给后台用来获取手机号的,在旧版获取手机号的接口里,不会返回 code,如果你使用旧版本,就将 encryptedDataiv 传给服务端,服务端解密 encryptedData 来获取手机号。

新版本中,直接将 code 给服务端,服务端通过 code 和其他参数从微信平台先获取 accessToken,获取到之后,再使用token请求获取手机号的接口,获取完之后将明文手机号返回给小程序端。

建议使用新版获取手机号的方法。

服务端

服务端需要调用两个接口:

  1. getAccessToken: https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/mp-access-token/getAccessToken.html

微信授权手机号,微信小程序,微信小程序,小程序,小程序授权登录,小程序获取手机号
这三个参数中appid和secret是需要从小程序端通过接口上传的。用户点击”允许“获取手机号的回调里,通过请求服务端的接口,将这些参数上传给服务端,服务端携带这些参数去获取access_token,下一步调用 getPhoneNumber 这个接口需要使用 token才能获取。

  1. getPhoneNumber: https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/mp-access-token/getAccessToken.html
    微信授权手机号,微信小程序,微信小程序,小程序,小程序授权登录,小程序获取手机号
    服务端使用客户端上传上来的code和自己从上一步获取到的token,就可以请求微信来获取手机号了,获取到手机号之后将手机号返回给小程序端即可。

注意事项

需要注意:
3. 提前去调用 wx.login 进行登录并获取 code 授权码
4. 注意 wx.login 返回的 code 和 获取手机号回调的 code,并非同一个code,一个是微信授权码,一个是用需要给服务端用来获取accessToken的授权码code
5. 服务端getAccessToken接口里传的参数 grant_type 的值是 client_credential,而不是 authorization_code

收费说明

以下内容摘抄自微信小程序平台官网接口说明文档,自2023年8月26日起调用手机验证登录需要收费了。

收费说明
自2023年8月26日起,手机号快速验证组件将需要付费使用。标准单价为:每次组件调用成功,收费0.03元。更多套餐价格请见微信公众平台-付费管理。 购买操作指引。

请注意:

体验额度:每个小程序账号将有1000次体验额度,用于开发、调试和体验。该1000次的体验额度为正式版、体验版和开发版小程序共用,超额后,体验版和开发版小程序调用同正式版小程序一样,均收费;
资源包有效期:在2023年8月26日前购买的订单,资源包将于2023年8月26日生效;在2023年8月26日后购买的订单,资源包将于支付成功后即刻生效;各资源包将按购买时所选择的有效期,计算相应的到期失效时间;
资源使用顺序:默认先从体验额度中划扣,划扣完毕后再从付费资源包中划扣;若有多个付费资源包,将按资源包到期时间顺序,先从最近到期的资源包开始划扣,如此类推;
退款规则:若购买有误,且未正式开始使用资源包前,可以在支付成功后的7天内申请退款。款项将在3-5个工作日内从原支付路径返回;若资源包已经开始使用(使用1次及以上),则不能申请退款;若支付成功后超过7天,未发起退款申请,亦不能再申请退款。

符合以下情况之一的小程序,使用此能力不收费,具体如下:

  • 账号微信认证主体类型为政府、非营利组织的小程序;
  • 账号微信认证主体类型为事业单位,且类目为政务民生的小程序;
  • 账号类目为公立医疗机构、学历教育(学校)的小程序

开发者可通过以下两种方式查询小程序的微信认证主体类型:

进入「微信公众平台->点击右上角账号头像->可查看基本信息->微信认证主体类型」

或者在 设置 -> 基本设置 -> 搜索”微信认证主体类型“

查看具体详情文章来源地址https://www.toymoban.com/news/detail-536020.html

到了这里,关于微信小程序手机号授权登录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序:授权登录获取手机号及获取基本信息等

    微信文档 1)需要将 button 组件 open-type 的值设置为 getPhoneNumber,当用户点击并同意之后,通过 getphonenumber 事件获取回调信息; 2)将 getphonenumber 事件回调中的动态令牌code传到开发者后台,并在开发者后台调用微信后台提供的 phonenumber.getPhoneNumber 接口,消费code来换取用户手机

    2024年02月06日
    浏览(38)
  • 微信小程序授权登录(含获取基本信息及绑定的手机号)

    1、授权获取微信个人信息 2、调用 wx.login() 获取临时登录凭证code 3、用code调用接口换取用户唯一标识openId、用户在微信开放平台账号下的唯一标识unionId和会话密钥session_key (1)前端获取 注意点 :正常开发中不会通过这种方法获取,会通过后台获取调用微信公众平台接口获

    2024年02月09日
    浏览(38)
  • .NET6使用微信小程序授权登录,获取手机号

    1.在appsettings配置你的小程序配置信息 2.请求接口时先获取Access_token 3.授权时获取手机号 4.微信接口要求必须使用Post请求方法 //小程序官方文档 https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/user-info/phone-number/getPhoneNumber.html

    2024年02月13日
    浏览(36)
  • 基于uniapp+java实现微信小程序无感登录,授权手机号登录,获取昵称头像,获取定位信息

    使用uniapp开发微信小程序,避免不了微信登录。但自动微信2022年升级了api版本后,不再允许返回昵称和头像信息,所以才出现无感登录或授权手机号登录。实现方式大同小异。 java后端所需maven 前端实现代码: 由于使用uni.login并不需要用户授权,所以能做到无感登录。 后端

    2024年02月16日
    浏览(45)
  • mpVue 微信小程序授权登录流程(即登录鉴权流程)及获取手机号一键登录教程(getPhoneNumber使用)

    微信小程序登录 鉴权流程 如下: 因 wx.getUserProfile 与 wx.getUserInfo 接口被收回了,都不能弹出授权窗口,只能使用头像昵称填写能力去获取微信用户信息。 在鉴权页面如下操作 : 1、在 onShow 中调用微信登录 wx.login 获取到唯一的code(用来获取 openid ); 2、根据 wx.login 获取的c

    2024年02月12日
    浏览(49)
  • 微信小程序授权登录时先判断是否勾选协议再弹出获取手机号的弹窗

    思路:设置两个一样的按钮,一个是点击事件的按钮,用来判断是否已勾选;另一个是授权登录的按钮,用来获取用户信息

    2024年02月11日
    浏览(68)
  • 微信小程序手机号授权登录

    微信小程序,手机号授权登录需求。 大体流程是这样的: 小程序端使用 getPhoneNumber 向微信平台获取授权 通过微信授权后,小程序端接收微信授权后的回调 小程序携带微信的回调请求自己的服务端 服务端请求微信获取手机号并将手机号回调给小程序端 具体步骤和代码如下:

    2024年02月13日
    浏览(39)
  • Java - 微信小程序授权手机号登录

            最近做了一个关于商城的项目,B端选用若依的开源框架,C端还是vue前后端分离。其中C端主要是小程序的形式,所以想着来总结一下对接微信小程序登录中Java部分遇到的坑即代码分享! 废话不多说,直接上代码! 1、controller 层代码          入参我这边是直接使用

    2024年02月04日
    浏览(36)
  • uni-app微信小程序获取手机号授权登录(复制即用,js完成敏感数据对称解密,无需走服务端处理)

    目录 一、示例 二、具体实现说明 获取到的手机号 属性说明 属性名 说明 生效时机 @getphonenumber 获取用户手机号回调 open-type=\\\"getPhoneNumber\\\"  按钮写法 接口说明 接口 说明 wx.login() 获取登录凭证(code),通过凭证进而换取用户登录态信息 auth.code2Session 登录凭证校验 参数说明

    2024年02月10日
    浏览(34)
  • UNIAPP---实现微信小程序登录授权和手机号授权(uniapp做微信小程序)

    描述:uniapp开发小程序,先授权用户信息后再出现手机号授权的页面进行手机号授权。完成后返回上一页面并把信息存入后台以及前台缓存中,方便使用。 1.在uniapp的manifest.json进行微信小程序配置 2.封装request请求api.js(如果已封装可跳过) 3.封装微信授权登录以及获取手机

    2024年02月11日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包