问题标签 [single-sign-on]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1354 浏览

asp.net - Coldfusion 和 .net 上的单点登录

我已经看到了在不同场景中使用多个 .net 应用程序设置单点登录的资源,但是是否可以为 .NET 和 CF 网站提供 SSO 解决方案?

谢谢!

0 投票
2 回答
1817 浏览

openid - 我的网站可以*安全地*允许通过 Facebook Connect、Google 朋友群、OpenID 和*等登录吗?

网站是否可以允许用户通过多种不同的方法登录,例如 Facebook Connect、OpenID 等?

不是指同一用户同时登录,而是想知道是否可以有多个“SSO”选项。

例如,具有 OpenID 和 Facebook 凭据的用户使用单独的会话信息登录,并以某种方式“玩游戏”或欺骗“系统”,是否存在副作用?

这是只提供一个的主要原因吗?还有其他原因吗?

更新: 为了澄清一点,我应该说我们想使用 Facebook Connect,但并非我们所有的预期用户都有 Facebook 帐户。与 OpenID 等相同。我们确实需要将用户操作绑定到特定的本地“帐户”,这显然会与他们用来登录的任何身份验证提供者同步(或稍后再绑定,如SO),但希望提供尽可能多的便利。

也许我们应该在内部做?

0 投票
7 回答
17447 浏览

authentication - 多个站点上的透明用户会话(单点登录 + 单点注销)

我在不同域中有多个站点:example.comexample.org和. 所有网站都具有共同的外观和感觉,并且应该共享相同的用户群。mail.example.compassport.example.org

在这种极端情况下,我仍然希望所有站点透明地(尽可能)共享具有以下关键属性的用户会话:

  1. 单点登录。当用户passport.example.org登录并访问任何其他网站时——他应该被视为已登录。

    登录的用户会$username在网站标题和不同的导航菜单中看到“你好”问候语,列出他们可以访问的服务。如果他没有登录,则会出现一个“登录”链接,而不是问候,指向passport.example.org/signon

    受信任域的列表是已知的,因此无论是使用 OpenID 还是使用一些自制的轻量级协议来实现都相当简单。当用户第一次访问该站点时,我会将他重定向到位于 的特殊身份验证端点passport.example.org,然后它会默默地将他重定向回来,其中包括身份信息(或“未登录”匿名身份)。对于大多数浏览器来说,这是完全透明的。显然,我使用 nonce 值来对抗重定向循环。

  2. 单签。当用户在下次访问任何站点时单击任何站点标题中的“注销”时 - 他应该被视为“未登录”。

    OpenID 不是为此而设计的。我目前的想法(我已经有一个部分工作的实现)不是发送用户身份,而是发送“全局”会话令牌并在数据库中共享全局会话表(global_session_token ↔ 用户关系)。

  3. 机器人和无 cookie 用户支持. 网站有公共区域,用户代理应该可以在没有任何 cookie 支持的情况下访问这些区域。

    正因为如此,我在 (1) 中提到的重定向成为一个问题,因为对于每个单独的页面请求,我最终都会将用户代理扔到身份验证端点并返回。这不仅会使机器人感到困惑,而且会很快用出生时死掉的会话污染我的会话数据库。而且我绝对不想显示“嘿,你没有启用 cookie,走开!” 页面,那将是非常粗鲁和令人失望的。虽然我需要 cookie 支持才能登录,但我希望用户可以自由阅读网站的用途等等——没有任何限制。

    除了我提到的一些透明的跨域重定向之外,我明确不想将会话 ID 放在 URL 中。我相信这样做是一个安全问题,而且通常是一件坏事。

    在这里,我几乎没有想法。

好的,我知道这很难,但 Google 实际上以某种方式使用 ( google.comgoogle.很多 gTLD等等gmail.com),对吗?所以这应该是可能的。

我将感谢协议描述想法(那将是最好的)或系统链接(阅读代码或只是观看和学习的实时站点)已经成功实现了这样的东西。

总结一下:几个没有共同根的域,共享用户群,单点登录,单点注销,匿名浏览不需要cookie。

所有站点都在同一个网络上(但位于不同的服务器上)并部分共享同一个 PostgreSQL 数据库(位于同一数据库的不同方案中)。大多数网站都是用 Python/Django 编写的,但其中一些网站使用 PHP 和 Ruby on Rails。虽然我正在考虑一些与框架和语言无关的东西,但我很感激指出任何实现。即使我无法使用它们,如果我知道它是如何在那里完成的,也许我将能够实现类似的东西。

0 投票
2 回答
2468 浏览

asp.net - 将 CAS 与 ASP.NET 成员资格提供程序后端一起使用的 SSO

我正在尝试利用CAS在同一个域名上执行 SSO。但是我不能真正理解CAS。CAS 提供用户管理还是我必须自己实施?我可以将 ASP.NET 成员提供程序作为身份验证提供程序集成到 CAS 中吗?

谢谢 !

0 投票
4 回答
56166 浏览

php - 跨域cookies

我有一个小问题。

如何为多个域设置 cookie?

我确实了解安全问题,并且我确信以前已经这样做过。原因是 SSO。

IE。

account.domain.com将需要设置登录的域:

domain.com、domain1.com、domain2.com。

有没有简单的方法,使用 PHP 和 cookie 或任何替代方法?

0 投票
9 回答
40414 浏览

testing - 你能推荐一个 SAML 2.0 身份提供者进行测试吗?

我正在实施 SAML 2.0 服务提供者,需要安装 SAML 2.0 身份提供者进行测试。鉴于这种需求,Identity Provider 理想情况下应该是免费的(或有试用期)并且易于设置和配置。

我正在寻找基本的单点登录和单点注销功能。

我试过 Sun Opensso Enterprise。价格合适,但到目前为止,配置起来简直就是一场噩梦。此外,它的错误消息和日志记录还有很多不足之处,我经常对基本上归结为配置错误或违反直觉的默认设置的问题进行故障排除。

0 投票
2 回答
20926 浏览

java - 如何从 Java 访问 Windows 凭据?

我如何(或者我可以?)在 Java 中检索当前登录的 Windows 用户的缓存凭据?我想在其他一些 GSS-API 调用中重用这些凭据。具体来说,我正在回答来自 IIS 的 SPNEGO 挑战。

谢谢。

0 投票
1 回答
1682 浏览

ruby-on-rails - Ruby CAS 服务器是否提供了用于打开会话、获取服务票证的 RESTful 接口?

我已经安装了 Ruby CAS 服务器,我的应用程序是一个简单的 Restful 身份验证用户管理应用程序,我想通过为我的用户管理应用程序提供中央身份验证来试验我的应用程序,我为此使用了 Restful 身份验证插件,它充当 Ruby CAS 客户端。

Ruby CAS 服务器是否支持 Restful Authentication for Centralized Authentication 以实现 SSO(单点登录)?

是否有任何解决方法以支持 Ruby CAS 服务器中的 restful 接口,在此先感谢

0 投票
1 回答
11949 浏览

passwords - 带有用户名/密码的 SAML 断言 - 消息到底是什么样的?

我需要创建一些 SAML 2.0 断言,但我很难找到 XML 应该是什么样子。大多数文档似乎是关于使用特定工具,而不是关于消息。我有模式,有很多可能性,但我找不到相关消息在实践中的实际样子的示例。

业务规则说:为了创建共享身份,用户告诉系统 A 他们在系统 B 上的用户名和密码。系统 A 需要将此信息(以及一些人口统计数据)传达给系统 B。系统 B 验证信息并通过返回一个唯一标识符,然后可以使用该标识符来引用该用户。

有人可以给我一个例子,说明 SAML 2.0 断言会如何携带这些信息?

FWIW,我正在使用 C#,并且需要以排除使用第 3 方工具的方式传递 XML。

0 投票
4 回答
1431 浏览

database - 什么是“单点登录”表,为什么需要此列列表?

我正在查看一个模式并试图弄清楚这个表可以用来做什么:

什么是“单点登录”,为什么该表的作者为此目的包括这些列?