Tapkey Token Exchange为无效用户返回access token相关问题问询
Tapkey 令牌交换相关问题解答
问题1:JWT的sub字段应该填哪个值?
你在创建IdentityProviderUser后返回的字段中,sub必须填写*ipUserId*。
你遇到的任意sub值都能兑换到access token的情况是Tapkey接口的正常设计:https://login.tapkey.com/connect/token端点在兑换令牌时,只会校验JWT的签名合法性、iss/aud/exp等基础声明是否符合要求,不会在这个阶段校验sub对应的用户是否真实存在、是否和身份提供商完成绑定,所以只要基础校验通过,哪怕sub是无效值也会返回有效access token。
如果错误填写id字段作为sub,即使能兑换到access token,后续调用Tapkey业务接口时会因为身份映射关系不匹配触发权限错误,无法正常使用功能。
问题2:不存在的用户对应的access token登录会有什么结果?
移动端使用这类access token完成基础登录验证时不会直接报错,因为access token本身是签名有效、未过期的合法令牌。但只要你后续调用任意需要用户身份的业务接口,比如查询锁列表、发起开锁请求、同步用户权限等,都会直接返回403 Forbidden错误,部分接口会返回user_not_found的明确错误码,所有业务操作都无法正常执行。这类对应无效用户的access token没有实际业务使用价值。
内容的提问来源于stack exchange,提问作者Moritz Fröhlich
相关产品推荐
相关产品推荐

