点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
遵循 Tobias Trapp 和丹尼斯·亨普芬正在讨论这里我进行了一些研究,研究如何(在我的最大努力和技能范围内)将xssec库中JWTStrategy的用法集成到NestJS的Passport实现中,这是在使用Sap初始化新项目时得到的 Cloud SDK CLI。
我"差不多"到了那里,但现在我陷入了一个我无法解决的问题。
我创建了一个简单的存储库 sapcloudsdk-nestjs-xsuaa 以复制问题,但是 这是我的简要介绍:
- 在CF上准备XSUAA实例和Destination实例
- 将approuter添加到项目中(使用CLI的add approuter命令)
- 在approuter文件夹和根文件夹中正确配置default-env.json文件以进行本地测试
- 安装必要的依赖项:@ nestjs/passport护照password-jwt @ sap/xssec @ sap/xsenv
生成一个新的" auth"模块,自定义策略类和一个自定义防护以保护端点:
- 嵌套生成模块auth/auth
- 嵌套生成类auth/xsuaa.strategy
-
嵌套生成防护auth/xsuaa.guard
编译安装程序,然后启动应用程序。 假设您使用的是默认端口,则调用http://localhost:5000/yourendpoint将进入XSUAA登录页面。
进行登录并:
[嵌套] 17174-2020-03-15 21:48:43 [ExceptionsHandler] this._secretOrKeyProvider不是函数+ 15597ms TypeError:this._secretOrKeyProvider不是函数 在XsuaaStrategy.JwtStrategy.authenticate(/Users/stevebob/Desktop/SAP/CLOUD SDK/xsuua-test/node_modules/passport-jwt/lib/strategy.js:99:10) 尝试中(/Users/stevebob/Desktop/SAP/CLOUD SDK/xsuua-test/node_modules/passport/lib/middleware/authenticate.js:366:16) 在身份验证时(/Users/stevebob/Desktop/SAP/CLOUD SDK/xsuua-test/node_modules/passport/lib/middleware/authenticate.js:367:7) 在Promise(/Users/stevebob/Desktop/SAP/CLOUD SDK/xsuua-test/node_modules/@nestjs/passport/dist/auth.guard.js:84:3) 在新的Promise中() 在/Users/stevebob/Desktop/SAP/CLOUD SDK/xsuua-test/node_modules/@nestjs/passport/dist/auth.guard.js:76:83 在XsuaaGuard。<匿名>(/Users/stevebob/Desktop/SAP/CLOUD SDK/xsuua-test/node_modules/@nestjs/passport/dist/auth.guard.js:48:36) 在Generator.next( ) 在/Users/stevebob/Desktop/SAP/CLOUD SDK/xsuua-test/node_modules/@nestjs/passport/dist/auth.guard.js:20:71 在新的Promise( )
我认为这与策略的配置方式有关:" secretOrKeyProvider"参数需要一个回调函数(而不是新的JWTStrategy实例)
如果有人有想法,我将很乐意为您贡献-并且学习:)
非常感谢
罗伯托。
(254.0 kB)
嗨,丹尼斯,
最后,安全性概念非常简单。
理想情况下,应用程序托管在一个子帐户中,IdP本身就是SuccessFactors本身,因此登录后基于角色 动态授权检查将直接在平台中执行。
从扩展的角度来看,我只需要针对3个可能的值(即HCM应用程序的常规ESS/MSS/XSS)检查用户范围。
根据用户范围或它们的组合,应用程序将做出相应的反应(禁用更新等。)
干杯,
R。
PS:我进一步研究了xssec和NestJS护照策略方法之间的交互作用,如果您认为它们有用,我将非常乐意分享我的发现。
Roberto,您好,我很乐意看一下您的发现(我也可以想象其他用户也会如此)!
您好,Dennis,我 我会在博客中写下一些东西,我想在此分享我对使用SDK的丰富经验的感想:)
我暂时关闭此线程。
一周热门 更多>