小程序登录(非腾讯云服务)

登录流程时序

图片.png

说明:

1、小程序调用 wx.login() 获取 临时登录凭证code ,并回传到开发者服务器。

2、服务器调用 code2Session 接口,换取 用户唯一标识 OpenID 、 会话密钥 session_key 以及UnionID。

注意:

1、临时登录凭证 code (有效期五分钟)只能使用一次

获取用户信息

API更新: 授权请求 wx.authorize({scope: "scope.userInfo"}),不会弹出授权窗口,需要使用

说明:

首次获取,必须点击button 弹出授权窗口获取用户信息:

wx:if="{{canIUse}}"

open-type="getUserInfo"

bindgetuserinfo="bindGetUserInfo"

>

授权登录

bindGetUserInfo(res) {

console.log(res.detail.userInfo)

}

// 查看是否授权

wx.getSetting({

success(res) {

if (res.authSetting['scope.userInfo']) {

// 已经授权,可以直接调用 getUserInfo 获取头像昵称

wx.getUserInfo({

success(res) {

const userInfo = res.userInfo

const nickName = userInfo.nickName

const avatarUrl = userInfo.avatarUrl

const gender = userInfo.gender // 性别 0:未知、1:男、2:女

const province = userInfo.province

const city = userInfo.city

const country = userInfo.country

}

})

}

}

})

if (wx.canIUse('button.open-type.getUserInfo')){

// 在没有 open-type=getUserInfo 版本的兼容处理

wx.getUserInfo({

success: res => {

app.globalData.userInfo = res.userInfo

console.log(res.userInfo)

}

})

}

获取用户手机号

获取微信用户绑定的手机号,需先调用wx.login接口。

注意:目前该接口针对非个人开发者,且完成了认证的小程序开放(不包含海外主体)。需谨慎使用,若用户举报较多或被发现在不必要场景下使用,微信有权永久回收该小程序的该接口权限。

使用方法

需要将 组件 open-type 的值设置为 getPhoneNumber,当用户点击并同意之后,可以通过 bindgetphonenumber 事件回调获取到微信服务器返回的加密数据, 然后在第三方服务端结合 session_key 以及 app_id 进行解密获取手机号。

注意

在回调中调用 wx.login 登录,可能会刷新登录态。此时服务器使用 code 换取的 sessionKey 不是加密时使用的 sessionKey,导致解密失败。建议开发者提前进行 login;或者在回调中先使用 checkSession 进行登录态检查,避免 login 刷新登录态。

代码示例

Page({

getPhoneNumber(e) {

console.log(e.detail.errMsg)

console.log(e.detail.iv)

console.log(e.detail.encryptedData)

}

})

encryptedData 解密后为以下 JSON 结构,详见加密数据解密算法

{

"phoneNumber": "13580006666", 用户绑定的手机号(国外手机号会有区号)

"purePhoneNumber": "13580006666", 没有区号的手机号

"countryCode": "86", 区号

"watermark": {

"appid": "APPID",

"timestamp": TIMESTAMP

}

}

支付宝小程序获取用户手机号php,小程序登录、获取用户信息、手机号相关推荐

  1. linux用户解锁pam_tally,多次登录失败用户被锁定及使用Pam_Tally2解锁

    在linux系统中,用户多次登录失败会被锁定,一段时间内将不能再登录系统,这是一般会用到Pam_Tally2进行账户解锁. 了解PAM Linux-PAM (Pluggable Authenticat ...

  2. ORACLE 记录连接用户的IP地址以及登录失败用户的IP地址

    前言:实现的功能主要是,oracle登录成功记录登录用户ip地址,登录失败记录登录失败ip地址 1,需要建立一个触发器记录登录成功的客户端用户的ip地址 大家都知道在v$session 中记录着客户端 ...

  3. 微信小程序开发之——用户登录-获取用户信息(5),意外收获字节跳动内部资料

    {{userInfo.nickName}} {{userInfo.city}} {{userInfo.gender0?"未知":userInfo.gender1?"男&q ...

  4. 微信小程序登录获取手机号获取不到偶发性问题

    1.第一次获取手机号,微信使用的是当前session_key对手机号进行加密,而我们的session_key还是空的,或者用户之前登录过,那么session_key就是上一次登录的状态.解密失败 第二 ...

  5. 支付宝小程序获取用户授权并进行认证登录流程(前端)

    1.支付宝小程序获取用户授权并进行认证登录流程 1.1申请获取用户信息能力     登录功能做之前要先沟通好客户的需求,支付宝小程序获取用户授权调用相应的接口之前要先获得对应的能力.如果需要获取身份证 ...

  6. 微信中html5获取手机号,微信小程序通过用户授权获取手机号

    这篇文章主要介绍了微信小程序如何通过用户授权获取手机号(getPhoneNumber),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 小程序有一个获 ...

  7. android微信登录获取微信账号,微信小程序--登录授权,一键获取用户微信手机号并登录...

    一.前言 微信小程序登录流程时序 说明: 小程序调用wx.login() 获取 临时登录凭证code ,并回传到开发者服务器 开发者服务器以code换取 用户唯一标识openid 和 会话密钥sess ...

  8. 支付宝小程序之蜻蜓设备刷脸核身获取手机号

    支付宝小程序之蜻蜓设备刷脸核身获取手机号 view <button class="btn-item btn-print" open-type="getAuthori ...

  9. (详细版)java实现小程序获取微信登录,用户信息,手机号,头像

    ps:springboot结合mybatisPlus.mysql实现,简单易懂,一件粘贴使用,详细往下看↓ 步骤: 1.注册微信开发平台账号,并创建小程序,获取小程序的AppID和AppSecret. ...

  10. springboot小程序授权登录获取用户手机号

    controller: /*** 授权获取用户手机号** @param mobile* @param type* @return*/@PostMapping("/getPhone" ...

最新文章

  1. 程序员吐槽职场戏精:凌晨三点半发周报,太装了!
  2. 晚上,睡前只需1分钟,一觉到天亮!
  3. elasticsearch api中的get操作
  4. Node.js CVE-2017-14849复现(详细步骤)
  5. rust: 写CTP策略中的几个难点
  6. 【Vue.js】iconfont中unicode引用和unicode引用失败,无法显示icon
  7. Delphi Web前端开发教程(7):基于TMS WEB Core框架
  8. DCN神州数码无线理论与配置逻辑
  9. 阿里小蜜:语音识别、语义分析、深度学习在手机淘宝的实战分享
  10. 百度导航SDK升级适配 Anroid 11骑步导航闪退
  11. 推荐一款STM32F030K6T6兼容替换灵动MM32F031K6T6
  12. 千年db服务器注册,千年服务器架设说明.doc
  13. 电脑白屏,电脑白屏是怎么回事?是系统的原因还是
  14. 如何高效设计游戏——从抽奖模型到圆桌算法(上)
  15. windows修改IP命令/脚本
  16. 个人微信号API接口搜集
  17. js 将图片置灰_让网页图片变灰色的三种方法
  18. jetson windows_Jetson nano 配置远程桌面
  19. vs2010 LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
  20. sonar覆盖率、代码覆盖率、分支覆盖率的计算方式

热门文章

  1. hausaufgabe--python 22- Recurse
  2. 如何把Excel中表格复制粘贴到PPT中,并更改表格边框颜色
  3. 谷歌浏览器启动页被篡改为hao.7654.com的解决办法
  4. 异步请求(多种方式)
  5. 微信公号开发实战之智能翻译
  6. Python学习第一课-----绘制股票分时图
  7. cisco路由器配置
  8. [Python从零到壹] 十六.文本挖掘之词云热点与LDA主题分布分析万字详解
  9. html设置长宽高代码_(HTML)图像的宽高和边框设置!
  10. - 麦田守望者 -读后感