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

2020-08-22 00:22发布

         点击此处--->   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时,如何才能在不失去当前有效的主体传播的情况下使本地测试正常工作?

最诚挚的问候
格雷戈尔

         点击此处--->   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条回答
打个大熊猫
1楼-- · 2020-08-22 00:48

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

黑丝骑士
2楼-- · 2020-08-22 00:43

要添加到Matthias的问题中,看到JWT字符串的日志以导出那里可能缺少的内容将很有价值。 您可以在此处隐藏或替换敏感内容。 这将加快调查速度,因为例外情况仅允许得出JWT的形式。

一周热门 更多>