栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

简单的SSO-使用自定义身份验证-CAS或某些Oauth或OpenID服务器?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

简单的SSO-使用自定义身份验证-CAS或某些Oauth或OpenID服务器?

Oauth旨在对应用程序进行身份验证,以使它们以用户的名义行事。例如,推特客户端可以使用用户帐户发布推文。如Facebook所示,它可用于单点登录,但这需要一些额外的工作。

比较CAS和OpenID

CAS是具有一个帐户权限的 集中式系统 。OpenID是一个 分布式系统
,基本上任何人都可以在其中建立身份提供者。当然,您可以限制消费者只接受自己的身份提供者。

OpenID具有两个(不兼容)标准,以提供有关帐户的 其他属性 ,公共库或多或少地支持这些 属性
。在标准设置中,CAS仅提供用户名。虽然CAS在理论上确实支持属性交换,但是目前只有PHP客户端支持它。

OpenID和CAS都可以 自动登录
。如果用户已经登录,浏览器将立即重定向回您的应用程序。但是,在简单的设置中,如果用户未登录,身份提供者将显示一个登录页面。因此,如果您希望允许匿名访问您的身边,则需要人们单击专用的登录链接。

幸运的是,OpenID和CAS都允许进行 透明的登录尝试
。在这种模式下,不显示登录表单。无论是否带有身份验证信息,浏览器都将立即重定向回。换句话说:您可以将所有新用户(无会话)重定向到身份提供者,只要他们访问您的站点。有一个漂亮的图表详细解释了这一点。CAS将其称为“网关模式”,它是通过将gateway =
true附加到登录URL来实现的。在OpenID中,它称为“立即模式”,URL参数为openid.mode = checkid_immediate

CAS支持 单点注销 。OpenID没有。

我的个人经验是,对于所有常见的编程语言,CAS都非常容易设置并且非常可靠,并带有高质量的库。OpenID是一个非常复杂的系统,因此存在许多微小的不兼容性。但是,OpenID允许使用Google帐户。

答案

首先,我不了解CAS令牌验证的必要性,这有什么好处?

OpenID和CAS都要求您让身份提供者验证提供的令牌。否则,攻击者可能能够创建自己的令牌或使用用户在注销之前创建的令牌。

客户也应该使用ssl吗?

是。

在客户端,您会使用Lightframe之类的iframe来显示重定向的页面吗?为什么/为什么不呢?

屏幕重定向 是最简单的事。我将从此开始使其工作。无论如何,许多应用程序仍然需要在登录后重新加载当前页面,以显示仅对登录用户可见的部分。

一个 I帧* 有你需要摆脱它一旦登录完成的问题。对于CAS,有一个关于如何 CAS登录表单 直接嵌入
到应用程序的HTML代码中的教程。另一种选择是像Facebook
Connect一样显示一个弹出窗口。
*



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/451755.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号