用户授权流程以及常见问题

简介: 用户授权分为静默授权与主动授权1,静默授权(scope = auth_base)可以获取到用户的什么信息呢?使用静默授权可以获取到用户的UserId以及scope是auth_base的token令牌。

用户授权分为静默授权与主动授权

1,静默授权(scope = auth_base)可以获取到用户的什么信息呢?

使用静默授权可以获取到用户的UserId以及scope是auth_base的token令牌。

这个在什么情况下使用呢?

例如:在小程序需要对用户进入小程序的时候就需要用户的UserId来进行标记,然后就可以使用该授权方式,并且直接使用,不会弹出授权窗。避免了首页不能弹出授权窗的尴尬。

2,主动授权(scope = auth_user)可以获取到的用户的信息可以参考文档:[url]https://docs.open.alipay.com/api_2/alipay.user.info.share[/url]  主要是获取用户的头像avatar、nick_name、user_id

3,正常小程序授权流程:

  1. 前端中获取到用户的授权code码。
    my.getAuthCode({
          scopes: 'auth_user',
          success: ({ authCode }) => {
            my.alert({
              content: authCode,
            });
          },
        });​
  2. 在前端获取到的authCode传到服务端后调用接口
    public void getAuth_token() {
    		AlipaySystemOauthTokenRequest request = new AlipaySystemOauthTokenRequest();
    		request.setCode("460c52fbe3c64be28fd9c9d0e4acTX10");
    		request.setGrantType("authorization_code");
    		try {
    			AlipaySystemOauthTokenResponse oauthTokenResponse = alipayClientSmallMember.execute(request);
    			if (oauthTokenResponse.isSuccess()) {
    				System.out.println("调用成功" + oauthTokenResponse.getBody());
    			} else {
    				System.out.println("调用失败" + oauthTokenResponse.getSubMsg());
    			}
    			System.out.println(oauthTokenResponse.getAccessToken());
    			getUserInfo(oauthTokenResponse.getAccessToken());
    		} catch (AlipayApiException e) {
    			// 处理异常
    			e.printStackTrace();
    		}
    	}​
  3. 获取到的accessToken令牌去调用获取用户信息的接口
    public void getUserInfo(String token) {
    		AlipayUserInfoShareRequest request = new AlipayUserInfoShareRequest();
    		AlipayUserInfoShareResponse response;
    		try {
    			response = alipayClientXiaorong.execute(request,token);
    			if(response.isSuccess()){
    				System.out.println("调用成功" + response.getBody());
    				} else {
    				System.out.println("调用失败"+ response.getBody());
    				}
    		
    		} catch (AlipayApiException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		
    	}​

     

    正常获取到用户的信息,然后传到前端进行展示使用。

4,ISV商户调用用户授权接口需要注意的点:

 a,前端使用的为模板ID

 b,服务端使用的为第三方应用的Appid

 c,并且第三方应用对模板发起授权获取到APPAUTHTOKEN

 d,代码中需要alipayClient.execute(request,null,APPAUTHTOKEN)这样进行调用接口。

5,常见问题

 Q:无效的访问令牌

 A:scope赋值的信息,与后面调用的接口是不匹配的,例如:scope用的是auth_user,结果后面调用的接口并非alipay.user.info.share,而是芝麻的接口; 获取会员信息,服务端报 isv.invalid-token 无效 token 原因1:获取授权码scope 必须传 auth_user 原因2:调用的接口错误,请使用接口:alipay.user.info.share 你先检查下,发现实在还是解决不了,再把相关的请求信息提供过来,我们帮你查 来源地址:[url]https://openclub.alipay.com/read.php?tid=6629&fid=66[/url]、[url]https://docs.alipay.com/mini/introduce/auth#4-[/url]补充说明。

 Q: 为什么不允许小程序打开就让用户授权获取阿里的id呢??小程序驳回了

 A:小程序禁止首屏强制授权框,建议使用静默授权获取用户的UserId,来进行后面的业务的操作。

 Q:获取用户信息可以获取到用的手机号吗

 A:手机号属于用户的私密信息,由于安全的问题,是不能获取到的。

目录
相关文章
|
Oracle 关系型数据库 数据库
使用docker安装配置oracle 11g
使用docker安装配置oracle 11g
|
存储 安全 对象存储
如何简单快速搭建自己的云对象存储服务(OSS)
简单来说,其实我们只需要有一台服务器,利用服务器的各种资源,搭配其它厂商开发的软件,就能很轻易拥有自己的云对象存储服务。不需要在阿里云上花钱买什么服务,甚至还能自己给别人提供服务,真的是太爽了。
|
8月前
|
人工智能 网络安全 调度
2026年阿里云OpenClaw(Clawdbot)安装并使用Skills保姆级教程
2026年,OpenClaw(前身为Clawdbot、Moltbot)凭借开源轻量化架构、强大的AI协同能力及完善的插件生态,成为个人、开发者及轻量团队搭建专属AI助手的首选工具[2]。其核心价值在于“自然语言指令+任务自动化”,无需复杂开发,即可实现多场景任务高效执行;而Skills作为OpenClaw的“功能扩展核心”,相当于为AI助手配备了“灵活双手”,通过各类模块化技能插件,让OpenClaw突破纯语言交互的限制,解锁网页自动化、文件处理、代码开发、邮件管理、信息搜索等具象化能力[3]。
2024 6
|
11月前
|
存储 弹性计算 安全
阿里云最便宜的云服务器,38元、99元、199元云服务器配置、优势及组合优惠详解
阿里云目前有多款价格非常实惠的云服务器产品,其中轻量应用服务器仅需38元/年,经济型e实例云服务器99元/年,通用算力型u1实例云服务器199元/年,让云服务器购买变得更加亲民。本文将详细介绍这些云服务器的配置、套餐优势、购买规则、注意事项以及组合优惠等内容,帮助大家更详细的了解这几款特惠云服务器,并选择适合自己的云服务器产品。
2573 18
|
7月前
|
存储 缓存 NoSQL
Redis主从复制
Redis主从复制通过全量同步、命令传播与增量复制三大机制,保障高可用与数据一致性。主节点处理读写并同步数据,从节点分担读请求;借助repl_backlog_buffer环形缓冲区与偏移量机制,实现断线后高效增量恢复,有效避免单点故障与数据丢失。
342 0
|
10月前
|
存储 数据采集 监控
RFID助力钢材应用智能化管理
RFID技术通过在钢材上绑定耐高温抗金属标签,实现生产、仓储、出库全流程数据化管理,自动采集信息,提升追溯精度与库存准确率至99.5%以上,减少60%人工操作,助力钢铁企业智能化升级。
|
机器学习/深度学习 存储 算法
DeepSeek元学习(Meta-Learning)基础与实践
元学习(Meta-Learning),又称“学会学习”,旨在通过少量数据或训练步骤使模型快速适应新任务。本文介绍如何使用DeepSeek构建和训练元学习模型,重点讲解基于优化的元学习方法MAML。我们从定义任务生成器、实现MAML算法到训练模型和快速适应新任务,提供了详细的代码示例和常见问题解决方案。通过本文,读者可以掌握元学习的基础与实践技巧,利用DeepSeek高效构建元学习模型。
|
存储 缓存 JavaScript
一文带你了解vuex和使用(2024年11月)
欢迎来到我的博客,我是自学前端两年半的大一学生,熟悉JavaScript与Vue,正向全栈发展。本篇介绍了Vuex,Vue.js的状态管理模式,包括其核心概念如state、getter、mutation、action及模块化使用,通过集中管理状态确保应用状态的可预测变化。文章详细解析了Vuex的工作原理,特别是与Vue的computed属性和响应式系统的集成,以及如何在实际项目中搭建和使用Vuex。如果你觉得有帮助,欢迎关注,我将持续更新更多技术文章。🎉🎉🎉
1488 0
|
JSON 数据可视化 API
玩转数据科学:Python实战分析天气预报变动趋势
【10月更文挑战第1天】随着气候变化对日常生活的影响日益显著,理解和预测天气模式变得越来越重要。本文将引导您如何使用Python来抓取和分析天气预报数据,从而揭示天气变化的趋势。我们将介绍从获取公开气象API的数据到清洗、处理以及可视化整个过程的技术方法。
322 2
|
人工智能 自然语言处理
X Detector:最值得信赖的多语言 AI 内容检测器
**X Detector** 提供直观界面和高效AI文本检测。支持20种语言,无需登录即可免费使用。高准确率、快速响应,几秒内显示结果。适合多语言内容筛查。尝试[AI Detector](https://xdetector.ai/),轻松检测AI生成文本。
X Detector:最值得信赖的多语言 AI 内容检测器

热门文章

最新文章