微信小程序手机号登录

写在前面

本文主要记录业务系统,通过小程序的微信授权手机号,实现业务登录。分为:微信授权登录 + 授权手机号

简要流程

流程:

  1. 微信授权/静默登录,微信返回一个 code
  2. 消费登录返回的 code,就可以获取微信基本信息(静默登录只有:openid,unionid),然后业务系统授权登录,返回信息
  3. 手机号授权,因手机号已无法在登录授权信息获取,固需前端通过 button 组件 open-type=”getPhoneNumber” 获取,返回:code, encryptedData, iv
    <!--button组件-->
    <button class="login-btn" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">
     <text>授权手机号</text>
    </button>
    # 返回信息
    {
     "errMsg": "getPhoneNumber:ok",
     "encryptedData": "2to78vbONAu6txdUXbEJ5Ir0p3RIilUdkzePRD47I8ka0IPB9F/MkLLXufciAzGzDBR1O57hmBfA7RDC33Va5QY1JQvvFUxKsEKjzSxG1x0rMEWqwAArnKjBiR5GR60mkhxeY5jQYFKZA5y1ZNQ6W+KYhM3rSGRXhzK5ttqXecaT4d+2UvcfnnHtlEEHjlpC7QSUtG5O+3Th+OjYbFoPfQ==",
     "iv": "zB4mrGz5wr/uAfjaftuFDw==",
     "code": "2b9d161e71e66a4fb5857bab3aeb5d0db6b37342e63e280c9c881d3c2d8ebf71"
    }
    流程图参考:
    微信小程序手机号登录

获取手机号:

  1. 消费返回的 code 获取手机号,通过接口 getPhoneNumber 获取。
    参考:developers.weixin.qq.com/miniprogr...
  2. 解密返回的 encryptedData + iv 获取手机号(历史版本不再推荐)。
    注意:解密还需参数 session_key: 登录返回的参数 session_key

注意事项:
自2023年8月26日起,手机号快速验证组件将需要付费使用,当然【公益性组织】除外。
标准单价:每次组件调用成功,收费0.03元;体验额度:每个小程序账号 1000 次。

备注

EasyWeChat 工具包,文档:easywechat.com/6.x/mini-app/utils....

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!