CAP Node.js身份验证

2020-09-03 02:07发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 在我的第一个CAP ...

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

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


大家好,

在我的第一个CAP nodejs应用程序的开发中,汗水和几乎流泪。 我无法进行身份验证。

我已经在一个非常简单的服务中提取了问题,该服务将在服务中显示用户ID。

首先,我创建了一个简单的CDS服务。

 @impl:'../service.js'
 @ cds.query.limit:100
 服务CapmAuthService {
  
   实体用户{
     关键用户名:字符串;
   }
    
 }

 

然后,我创建了一个函数来处理用户实体的get请求。 这将始终返回一个表,其中只有一个条目具有当前用户的用户名。

 const readFunction =异步(req)=> {
 返回[
             {
                 用户名:req.user.id
             }
         ];
 };

 module.exports =(srv)=> {
 srv.on('READ','User',readFunction);
 };
 

在SAP Web IDE中进行测试始终会返回匿名用户。
为强制进行身份验证,我添加了一个approuter。

 {
 " welcomeFile":"/img/capm-auth",
 " authenticationMethod":"路由",
 "登出": {
 " logoutEndpoint":"/img/do/logout"
 },
 "路线":[{
 " source":" ^/(。*)$",
 " target":" $ 1",
 " authenticationType":" xsuaa",
 " scope":" $ XSAPPNAME.user",
 " destination":" srv_api",
 " csrfProtection":false
 }]
 }
 

我为用户分配了一个角色集合,该集合包含范围$ XSAPPNAME.user。

但是当我将应用程序部署到cloud-foundry并测试为approuter创建的URL时,显示的用户名仍然是匿名的。

我没主意了,任何帮助都将不胜感激...:-)

有一个github存储库,上面有我的代码:

https://github.com/jowavp/SAP-CAPM-Nodejs- 授权示例

kr,

Joachim

3条回答
愤怒的猪头君
2020-09-03 02:44 .采纳回答

嗨,莱利,

感谢您的答复。

似乎我的示例在试用帐户上运行得很好。
我更改了一些分配(提高了目的地的配额),现在在其他帐户上一切正常。

kr,

Joachim

一周热门 更多>