我正在使用需要SAML来管理OpenAM服务器身份验证的应用程序。
实际上,我将Satellizer与OAuth2隐式授权流程结合使用,并且具有以下特点:
我需要使用SAML进行某些操作。事实是我完全迷路了,似乎我应该使用后端登录到SAML服务器...
我真的不喜欢这种情况,我需要知道使用客户端应用程序是否还有更好的事情要做。
使用SAML的客户端应用程序的“常规”身份验证流程是什么?
谢谢你的帮助
最佳答案
SAML2是在尚未发明带有JavaScript的客户端应用程序的概念时设计的。
一种常见的方法是使用中间的OpenID Connect/SAML2代理/桥(例如IdentityServer3 + Kentor.AuthServices.Owin)来对用户进行身份验证:
这非常有用,可以使用户通过外部Idp进行身份验证。如果您拥有诸如后端服务之类的资源,那么通常会通过在步骤6发出的OAuth2承载 token 来授权这些调用。
如果您的后端API期望使用SAML断言而不是承载 token ,那么您将不得不考虑我们的方式。
关于javascript - Angularjs和SAML的开始,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37164639/