相关疑难解决方法(0)

使用CAS或OAuth进行SSO?

我想知道是否应该使用CAS协议或OAuth +某些身份验证提供程序进行单点登录.

示例场景:

  1. 用户尝试访问受保护资源,但未经过身份验证.
  2. 应用程序将用户重定向到SSO服务器.
  3. 如果通过身份验证,则用户从SSO服务器获取令牌.
  4. SSO重定向到原始应用程序.
  5. 原始应用程序根据SSO服务器检查令牌.
  6. 如果令牌没问题,将允许访问,并且应用程序知道用户ID.
  7. 用户执行注销并同时从所有连接的应用程序注销(单点注销).

据我所知,这正是CAS发明的.CAS客户端必须实现CAS协议才能使用身份验证服务.现在我想知道在客户(消费者)网站上使用CAS或OAuth.OAuth是CAS的那部分的替代品吗?OAuth作为新的事实上的标准应该优先考虑吗?是否有一个易于使用的(不是Sun的OpenSSO!)更换为CAS支持不同的方法,如用户名/密码,OpenID的,TLS certifactes认证部...?

语境:

  • 不同的应用程序应该依赖于SSO服务器的身份验证,并且应该使用类似会话的东西.
  • 应用程序可以是GUI Web应用程序或(REST)服务.
  • SSO服务器必须提供用户标识,这是从中央用户信息存储获取有关用户的更多信息(如角色,电子邮件等)所必需的.
  • 单签出应该是可能的.
  • 大多数客户端都是用Java或PHP编写的.

我刚刚发现WRAP,它可能成为OAuth的继任者.这是微软,谷歌和雅虎指定的新协议.

附录

我了解到OAuth不是为验证而设计的,即使它可用于实现SSO,但只能与OpenID等SSO服务一起使用.

OpenID在我看来是"新CAS".CAS具有OpenID未命中的一些功能(如单点注销),但在特定场景中添加缺失部分并不困难.我认为OpenID已被广泛接受,最好将OpenID集成到应用程序或应用程序服务器中.我知道CAS也支持OpenID,但我认为CAS对OpenID来说是可有可无的.

security cas oauth single-sign-on

177
推荐指数
5
解决办法
7万
查看次数

OpenID,Oauth的数据库设计:Twitter和Facebook

我想允许我的用户使用OpenID,Twitter和Facebook登录,如果他们选择不直接注册到我的网站.

在他们使用oAuth/OpenID登录之后(在你想知道之前:是的,我已查找了差异*),我会要求他们选择用户名.

我需要的只是他们的电子邮件地址和全名,(以及一个IP地址,但现在不相关).

我现在使用的当前表是:

author (id, fullname, username, password, salt, ip_address, email_hash, verified, created, deleted)
Run Code Online (Sandbox Code Playgroud)

密码是哈希值,email_hash用于恢复丢失的用户名.

如何更改此结构以使用一个用户名支持OpenID/oAuth帐户?

*或OAuth?,OpenID的?都不是?我的网站应该支持哪一个?

sql database

13
推荐指数
1
解决办法
4645
查看次数

如果OpenID"已经死了",那么取而代之的是什么呢?

Scott Hanselman(备用链接)在2010年11月18日的Twitter推文中建议"OpenID可能已死".

OpenID已经死了

如果这是真的(我不是说它),还有什么其他选项可用于通用登录(类似于OpenID)?


更多信息

我目前正在参与一个规模相当大的项目,它面向公众的登录完全由OpenID驱动(使用DotNetOpenAuth).如果这对用户来说太具有挑战性(根据斯科特原始推文的评论),我将需要知道一些好的替代解决方案......如果有的话.

任何信息,将不胜感激.

编辑

澄清和改述.我不打算发起一场关于" 一件大事是什么 "的辩论......我只是在问"有什么可以取代OpenID,如果它已经死了 ".我也不是说我认为OpenID 已经死了,而只是根据一位受人尊敬的开发者的评论来提问.

加成

正如@marc在评论中指出的那样.Rob Conery有一篇很好的咆哮/博客文章名为Open ID Is A Nightmare,其中Rob提出了一些非常有说服力的论据,说明为什么OpenID不可取.我不得不同意我不想浪费大量时间为我的用户恢复帐户,我的时间最好花在其他地方.

所以回到最初的问题.什么是替代品?是否有一个更好的"标准"是"开放"但如果提供商决定改变某些东西却不会分崩离析?(例如,更改API或加密逻辑)...还可以跨越多个提供商并仍能识别单个用户?

openid single-sign-on

12
推荐指数
1
解决办法
4670
查看次数

标签 统计

single-sign-on ×2

cas ×1

database ×1

oauth ×1

openid ×1

security ×1

sql ×1