使用AuthTokenAccessor.executeWithAuthToken进行本地测试(Cloud SDK和CAP Java)

2020-08-22 00:22发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) Hello SAP Cloud...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


Hello SAP Cloud SDK/SAP CAP专家

在将后端呼叫包装到

之前
字符串jwtString = AuthenticatedUserClaimProvider.INSTANCE.getUserClaim();
 AuthTokenAccessor.executeWithAuthToken(new AuthToken(JWT.decode(jwtString)),()-> {
  //调用VDM服务的代码在此处。
 });  

Pablo Caceres 建议 13002935/view.html" target =" _ blank">如何将用户身份验证(JWT)从CAP Java传递到Java目标实例的SAP Cloud SDK?我能够通过模拟对实现进行本地测试 在 srv/中定义的用户 src/main/resources/application.yaml 。 但是,当我现在进行测试时,出现此错误:

查询操作发生错误:令牌应分为3部分,但有1部分。
 com.auth0.jwt.exceptions.JWTDecodeException:令牌应包含3个部分,但得到1个部分。
 

在部署到Cloud Foundry时,如何才能在不失去当前有效的主体传播的情况下使本地测试正常工作?

最诚挚的问候
格雷戈尔

2条回答
打个大熊猫
2020-08-22 00:48

如果不深入研究,我希望AuthenticatedUserClaimProvider.INSTANCE.getUserClaim()实际上仅获得声明,这不是完整的JWT,因此JWT.decode会引发错误。

一周热门 更多>