本文主要是介绍SAP fiori 第三方网页认证登录(伪),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
背景
项目需要对sap的网页端应用(如sap fiori WDA等)的访问支持免密登录。
在PC端,一般使用AD域集成单点登录实现免密登录。在移动端单点登录实现相对较为复杂,需要额外的产品支持。而移动端更多的场景是第三方认证登录,比如企微和钉钉。
分析
查询资料,翻阅官方文档,咨询basis顾问,sap fiori暂不支持基于oauth2.0的第三方认证登录的,此处提供一种曲线实现第三方网页登录的实现方式。
第一种方式
从需求来讲,一般使用第三方网页登录针对的是单个网页,所以对SAP账号的标准功能依赖度不是很高,可以通过代码逻辑处理。基于这种思路,使用预先设置登录数据的fiori应用页面,在页面打开时调用后端接口进行认证,认证成功则返回对应的账号,认证失败,则跳转错误页面,或者认证登录页面。
需要注意
1. 区分第三方跳转和磁贴点击。
2. 免登录页面登录验证需要优先其它标准登录验证,保证正常登录验证
3. 考虑账号硬代码逻辑,避免使用免登录账号跳过认证校验
4. 其它关于账号的安全,比如后端记录验证账号,防止接口篡改
第二种方式
通过已设置免登录的BSP应用程序或者ICF接口处理认证部分。如果认证成功,获取账号后重置密码,重定向到一个新的BSP应用程序并将账号密码拼接在url参数中完成ICF服务登录(隐藏账密),最后再次重定向到最终页面。如果认证失败直接跳转登录页面。
需要注意
1. 需要考虑中间cookie安全性问题导致的登录失败
2. 中间跳转过程中的账密安全性
3. 密码为临时密码,不再支持直接账密登录
参考
SAP Fiori 应用程序的 SSO 机制
SAP Help Portal
OAuth 身份验证
SAP Help Portal
用户身份验证和单点登录
SAP Help Portal
https://help.sap.com/doc/saphelp_nw74/7.4.16/en-US/4a/112f1a2228101ee10000000a42189b/content.htm?no_cache=true
SAML和OAuth2这两种SSO协议的区别
https://www.cnblogs.com/flydean/p/14224139.html
这篇关于SAP fiori 第三方网页认证登录(伪)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!