支付宝小程序获取用户授权并进行认证登录流程(前端)
1.支付宝小程序获取用户授权并进行认证登录流程
1.1申请获取用户信息能力
登录功能做之前要先沟通好客户的需求,支付宝小程序获取用户授权调用相应的接口之前要先获得对应的能力。如果需要获取身份证号、手机号、姓名,则需要登录支付宝开放平台,登录企业账号后,在控制台–>能力管理–>添加“获取会员信息”能力。再向支付宝BD申请身份证、手机号、名字的字段。支付宝BD会在待开发的小程序上挂 “获取会员信息” 的功能包(具体可以咨询支付宝技术支持)。
1.2获取用户信息授权登录流程demo
1.3前端代码逻辑梳理及相关文档
1.3.1授权逻辑流程图
前端通过 my.getAuthCode(需要主动授权) 接口在当前页面唤起半屏授权浮层,用户确认授权后,接口返回 auth_code,将auth_code作为入参传给后端,后端调用alipay.system.oauth.token(换取授权访问令牌接口)获得access_token返给前端 ,前端再使用 access_token 调用 alipay.user.info.share(支付宝会员授权信息查询接口)获得用户信息。
1.3.2代码示例
async getAllUserInfo() {// 内置API唤起授权弹框,获取authCode,必须在授权回调地址页面中调用,否则会导致无法正常使用。my.getAuthCode({scopes: 'auth_user', //获取用户信息的固定写法success: async (res) => {if (res.authCode) {uni.setStorageSync('authCode', res.authCode);//用authCode换accessTokenawait PatientService.queryAccessToken().then(res => {if(res.ok) { //获取用户信息(身份证号,手机号,姓名)PatientService.getUserInfoshare().then (res => { this.userInfo = res.data.alipay_user_info_share_response;uni.setStorageSync('platformId', res.data.platformId);uni.setStorageSync('openId', res.data.alipay_user_info_share_response.user_id); if(res.ok) { //调用获取手机号接口进行认证this.getPhoneNoInfoAli(this.userInfo.mobile, uni.getStorageSync('openId'), uni.getStorageSync('platformId'));}else {console.log('getUserInfoshare失败'); }})}else{console.log('queryAccessToken失败'); }})}else {console.log('getAuthCode失败'); }},}) },async getPhoneNoInfoAli(e, openId, platformId) {let m = {content: e,openId: openId,platformId: platformId}const {code,data,msg} = await getPhoneNumberAli(m);if (code == 0) {uni.setStorageSync('access_token', data.access_token);uni.setStorageSync('refresh_token', data.refresh_token);uni.setStorageSync('login', data.login); } else {this.goPage('/pages/auth/index');}
},
封装的函数:
//***********************************code換token
export function queryAccessToken() {let url = Vue.prototype.serverAddress + '/接口地址' + uni.getStorageSync('authCode');return HttpRequest({url: url,method: 'GET',}).then(response => {return response.data;}).catch(error => {console.error('连接失败', error);let result = {};result.code = 400;result.msg = messagesUtil.MESSAGE_CAN_NOT_CONNECT;return result;})
}
// ***********************获取身份证号export function getUserInfoshare(){let url = Vue.prototype.serverAddress + '接口地址' + uni.getStorageSync('accessToken')return HttpRequest({url: url,method: 'GET',}).then(response => {return response.data;}).catch(error => {console.error('连接失败', error);let result = {};result.code = 400;result.msg = messagesUtil.MESSAGE_CAN_NOT_CONNECT;return result;})
}
// ***********************验证身份信息并登录
export function getPhoneNumberAli(param) {let url = Vue.prototype.serverAddress + '/接口地址';return HttpRequest({url: url,method: 'POST',data: JSON.stringify(param)}).then(response => {return response.data;}).catch(error => {let result = {};result.code = 400;result.msg = messagesUtil.MESSAGE_CAN_NOT_CONNECT;return result;})
}
1.3.3 生活号/H5 内获取用户信息支付宝官方文档:
https://opendocs.alipay.com/open/284/h5
支付宝小程序获取用户授权并进行认证登录流程(前端)相关推荐
- 支付宝小程序获取用户信息及手机号
支付宝小程序获取用户信息及手机号 众所周知,微信小程序是可以通过微信本身授权后再登录,平台可以拿到微信用的的账号相关信息,然后保存到数据库中,那么同理在支付宝小程序开发过程中,登录功能的设计也可以如此 ...
- 小程序获取用户手机号权限,微信认证
问题:小程序获取用户手机号,提示权限不足 原因:小程序没有进行微信认证 解决方案:在小程序的管理后台,点击右上角小程序logo,然后找到微信认证 微信认证方法1:自己开通 点击对应详情,根据流程一步一 ...
- 支付宝小程序获取用户的user_id案例
官方文档:https://docs.alipay.com/mini/introduce/auth 一.首先获取authcode 官方文档:https://docs.alipay.com/mini/ap ...
- uniapp微信支付宝小程序获取用户信息
我们也知道微信小程序前段时间更新了获取用户信息方法(区别),今天介绍一下,最新版uniapp获取用户信息(支付宝和微信小程序) 直接上代码: <view class='bottom flex'& ...
- 微信授权绑定手机号 java_微信小程序获取手机号授权用户登录功能
小程序中有很多地方都会用到注册用户信息的地方,用户需要填写手机号等,有了这个组件可以快速获取微信绑定手机号码,无须用户填写. 1.getPhoneNumber这个组件通过button来实现(别的标签无 ...
- php 微信小程序获取手机号_实例讲解微信小程序获取手机号授权用户登录功能...
小程序中有很多地方都会用到注册用户信息的地方,用户需要填写手机号等,有了这个组件可以快速获取微信绑定手机号码,无须用户填写.本文主要给大家分享微信小程序获取手机号授权用户登录功能,需要的朋友参考下吧, ...
- vant weapp 小程序 获取用户信息授权
vant weapp 小程序 获取用户信息授权 <template><div class="container"><van-button v-if=& ...
- java实现微信、手机号登陆_微信小程序获取手机号授权用户登录功能
小程序中有很多地方都会用到注册用户信息的地方,用户需要填写手机号等,有了这个组件可以快速获取微信绑定手机号码,无须用户填写. 1.getPaDirIrkFhoneNumber这个组件通过button来 ...
- 微信小程序获取用户手机号授权方法
微信小程序获取用户手机号方法 首先在 app.json 页面添加一个新的用户授权页面,放在首页index的后面即可 在 app.js 页面中编写如下代码: 这里包含了获取用户信息的相关代码 //app ...
最新文章
- 【Linux】neocomplcache disabled: “sudo vim“ is detected and $HOME is set to your user‘s home
- java学习笔记-java中运算符号的优先顺序
- 软件开发环境-环境信息库
- 2017-10-6Linux基础知识(4)安装Linux及设置语言环境
- 皮一皮:现在真是键盘侠的年代阿....
- java学习笔记(八)----包,jar文件
- mysql 8.0用doc修改密码_MYSQL8.0修改密码流程
- php查询MySQL结果转化为数组_PHP如何将SQL查询结果转为多维数组,并按查询行输出...
- Intel Realsense D435i各类标定教程
- 车牌颜色识别现在的结果
- PAT甲级1019 回文数
- [渝粤教育] 西南科技大学 计算机辅助设计 在线考试复习资料2021版
- 夜间灯光数据dn值_一种基于NDBI的城市夜间灯光数据去饱和方法与流程
- svn可视化操作工具
- siv技嘉硬件Linux,Gigabyte技嘉System Information Viewer(SIV)风扇控制软件B20.0529.1版For Win10-64(2020年6月16日发布)...
- @Windows server 2022安装使用(Workstation)
- springboot利用官方SDK(wechatpay-apache-httpclient)接入微信支付V3
- 渗透测试流程——渗透测试的9个步骤(转)
- Silk这个网站是用来在线绘制对称图形的
- 十五万左右纯电SUV怎么选?奇瑞大蚂蚁是真香
热门文章
- 服务器关机选择项目,服务器设置关机任务计划
- windows如何利用计划任务自动关机?
- TortoiseGit小乌龟的下载地址,下载汉化包后配置
- Conan教程(1)—— 简介
- D3D视频渲染入门程序.
- 紫外线消毒器:不锈钢连体式紫外线消毒器特点及应用
- QNX车机底层操作系统技术解读
- SEAM学习(五)---Seam 组件
- 吉林师范大学博达学院计算机系代码,吉林师范大学博达学院计算机与信息科学系...
- Updating custom fields on VBAP OR VBAK using BAPI_SALESORDER_CREATEFROMDAT2/SD_SALESDOCUMENT_CREATE