无效的访问令牌&无效的应用授权令牌-自查方案

简介: 报错:无效的访问令牌用户信息授权后出现的错误,在用户授权后获取的auth_code后,使用auth_code换取access_token。然后用access_token去调用相关接口获取用户信息导致的报错。

报错:无效的访问令牌

用户信息授权后出现的错误,在用户授权后获取的auth_code后,使用auth_code换取access_token。然后用access_token去调用相关接口获取用户信息导致的报错。 获取用户信息的产品有多种,不同的产品对应不同的接口,所以此类报错原因有以下:

1、access_token的值错误

2、access_token调用的接口错误

3、access_token失效过期

检查方案有下:

1、不同的产品有不同的scope来获取auth_code,用auth_code调用alipay.system.oauth.token来换取access_token,不同产品的access_token也不一样,不同产品不能通用,所以需要根据对应的产品文档来调用相关接口,也能保证access_token的正确性。各产品对接文档可以参考帖子:如何传值scope接口权限值-参数解读系列。

2、如果调用SDK来请求的代码,传入access_token的方式也需要注意下(用户信息共享接口alipay.user.info.share接口示例):

 Java:

AlipayUserInfoShareResponse response = alipayClient.execute(request,accessToken);

php:

$result = $aop->execute ( $request , $accessToken );

.net:

AlipayUserInfoShareResponse response=client.execute(request,accessToken);

3、access_token取决于授权时指定的scope的有效期,如果授权时指定多个scope,最终的access_token的有效期取决于有效期最短的scope。access_token截止时间=(授权时间点)+(授权后调用alipay.system.oauth.token返回的expires_in) 具体scope说明也可以参考这个帖子:如何传值scope接口权限值-参数解读系列。

 

报错:无效的应用授权令牌 

第三方应用授权后,商户使用app_auth_token去代其他商家发起接口请求时报的错误,报错原因有以下: 

1、app_auth_token令牌值传错 

2、app_auth_token令牌已经过期

检查方案如下:

1、请根据文档步骤来获取正确的app_auth_token,第三方应用授权:[url]https://docs.open.alipay.com/common/105193[/url] 

2、app_auth_token有效期为365天(现在文档更新,app_auth_token已改为永久有效了),如果使用refresh_token去刷新的话app_auth_token从刷新开始10分钟内可继续使用,后面再使用之前的app_auth_token便会失效了。

3、如果使用SDK来请求接口,传入app_auth_token的方式如下(当面付扫码支付接口示例):

Java:

AlipayTradePrecreateResponse response = alipayClient.execute(request,null,app_auth_token);

Php:

$result = $aop->execute ($request,null,app_auth_token);

.net:

AlipayTradePrecreateResponse response=client.execute(request,null,app_auth_token);
目录
相关文章
|
存储 JSON NoSQL
实战!退出登录时如何借助外力使JWT令牌失效?
实战!退出登录时如何借助外力使JWT令牌失效?
Jasny SSO如何处理SSO令牌过期和无效的情况?
Jasny SSO如何处理SSO令牌过期和无效的情况?
199 0
|
存储 缓存 数据库
8.3JWT提前撤回
当遇到用户被删除、用户在另一个设备上登陆等场景需要将JWT提前撤回,但是JWT是保存在客户端,无法在服务器中进行删除。 解决思路是在用户表中增加一列JWTVersion,用来存储最后一次发放出去的令牌版本号,每次登陆、发放令牌的时候都让JWTVersion自增,当服务器收到客户端提交的JWT后,将客户端的JWTVersion和服务器的进行比较,如果客户端的值小于服务器中的值则过期
|
存储 JSON 安全
【翻译】基于令牌的身份验证如何工作?
【翻译】基于令牌的身份验证如何工作?
146 0
【翻译】基于令牌的身份验证如何工作?
|
消息中间件 监控 API
通过sts token 实现跨账户消费日志服务资源
阿里云账号可以通过创建并授权用户角色的方式赋予其他云账号一定的资源权限,其他云账号扮演该角色,并为其名下的RAM用户授予AssumeRole权限之后,其他云账号或其子账号可以通过访问STS接口获取临时AK和Token函数,调用日志服务API接口。
9485 1
通过sts token 实现跨账户消费日志服务资源
|
存储 NoSQL 前端开发
JWT 登录认证 + Token 自动续期方案,写得太好了!
JWT 登录认证 + Token 自动续期方案,写得太好了!
1338 0
|
存储 安全 API
Android权限检查API checkSelfPermission失效问题
Android权限检查API checkSelfPermission失效问题
420 0
|
弹性计算 关系型数据库 对象存储
【访问控制】STS接口调用提示权限报错排查思路
本文主要是针对STS接口调用出现的403权限报错提供一些排查思路。 报错:You are not authorized to do this action. You should be authorized by RAM
2123 0
【访问控制】STS接口调用提示权限报错排查思路
|
缓存 数据安全/隐私保护
OAuth 2.0认证-授权码模式的理解和实例分析
目前OAuth 2.0 认证有五种方式,见官方文档:http://www.rfcreader.com/#rfc6749 授权码模式(Authorization Code Grant) 流程图 说明:1,认证服务器是一个业务无关的系统;2,code就是授权码,只能使用一次;3,token 在有效期内可以无限次使用 场景化讲解-下单 场景:A 公司旗下有很多 web 产品,同时还有一个应用商店(类似京东)负责售卖这些软件产品,下面以用户进入应用商店购买产品的流程着手。
2257 0
一次主账号AK-SK疑似泄露处理过程
缘起最近抽业余时间帮朋友看了一眼他的公司的一批阿里云账号,发现一个极为严重的隐患,那就是有主账号访问密钥对(AK - AccessKeyId,SK - AccessKeySecret,后面统一简称AK-SK),且这个AK-SK是明文写在公司App应用的配置文件中,App用它来上传下载客户的文件。