使用CORS实施SSO是否安全?

时间:2018-05-22 02:29:56

标签: ajax cors single-sign-on

我实施SSO将一些Web登录机制集成到OAuth2提供商的集中成员系统中 目前OAuth2授权运行良好。

但是,我想通过AJAX调用实现更流畅的登录方法 例如,用户已经登录了Web A和成员系统。当用户导航到Web B时,Web B应该将AJAX调用到成员系统以查看用户是否登录? 如果用户已登录,则Web B应向用户显示登录页面。

我研究了一些OAuth2文章(我现在找不到链接)。他们都通过直接重定向到OAuth提供商来进行SSO 但是,我想使用CORS AJAX调用,因为它可以提供更好的用户体验。

我读了另一篇关于CORS和SSO风险的讨论。 https://security.stackexchange.com/questions/36753/designing-single-sign-on-with-jsonp-cors?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa

但我无法理解选定的答案。

  

必须有一个控件来防止恶意JavaScript   客户端伪造与授权服务器的交互。如果   相反,URL是作为CORS Ajax请求中的参数提供的   然后检查HTTP源头,然后是恶意客户端   允许谎言它的背景。

可以通过CORS标头Origin验证URL。

我的意见是,如果OAuth2 Provider正确设置了CORS Origin,那么支持CORS AJAX登录机制应该没问题。
由于cookie和CORS无法通过跨域访问并违反CORS Origin策略,因此不会遭受CSRF攻击。只需要担心XSS。

我对自己的意见并不十分自信,这就是我在这里发帖的原因 如果您有任何建议或发现我的错误,请告诉我。

谢谢

0 个答案:

没有答案