我正在研究Ruby on Rails应用程序。我需要使用OneLogin实施单点登录/单点注销(SSO / SLO)。
我使用OneLogin-Ruby-Sdk => https://github.com/onelogin/onelogin-ruby-sdk通过会话令牌API登录用户。它在浏览器中创建一个cookie,并允许我登录其他应用程序。但是,当我使用log_a_user_out
Api注销时。它仅注销当前应用程序,而不注销所有应用程序。因此SLO在这种情况下不起作用。
此后,我集成了devise_saml_authenticatable => https://github.com/apokalipto/devise_saml_authenticatable。它与SSO / SLO完美配合。但是它将重定向到oneLogin UI,以生成SAMLRequest并发回SAMLResponse。
是否可以通过编程方式生成SAMLRequest和SAMLResponse? 就像我们对OAuth2所做的一样,我们可以一次又一次使用刷新令牌生成访问令牌。
基本上,我希望用户通过我的应用程序表单进行注册和登录,并与OneLogin通信并使用API而不是进入oneLogin UI来实现SSO / SLO。
请让我知道是否需要更多代码方面的信息,以帮助提供答案。我会很高兴这样做。任何帮助深表感谢。