【发布时间】:2014-03-01 06:18:51
【问题描述】:
在我的例子中,公司 B(域 B)托管了一个门户,该门户具有指向我的 Web 应用程序(域 A)的链接。如果用户单击门户上的超链接到我的域,他/她应该会自动登录到我的应用程序。
我无法改变的现有政策:
- 用户还可以直接登录我的域,而无需通过门户提供用户 ID/密码。
- 此外,现有的公司用户配置政策是,即使用户通过 B 公司的门户登录,他们首先需要在我公司拥有一个用户帐户。因此,用户将拥有门户公司和我公司的帐户。
鉴于这些限制,我的计划是提供从门户自动登录。
当用户登录门户时,门户公司将生成一个临时令牌 (UUID),并将其作为查询参数附加到我的 Web 应用程序的超链接。当用户单击我的 Web 应用程序的超链接时,我的 Web 应用程序将在服务器端收到受保护资源的 GET/POST 请求。在服务器端,我的 Web 应用程序将通过 https(可能是两种方式的 SSL)调用门户端的 URL,并传递临时令牌。门户端以用户 ID 响应。我的 Web 应用程序会将用户 ID 与用户凭据映射,并为用户创建会话并允许访问受保护的资源。
当用户退出门户应用程序时,门户网站服务器将在预先指定的 URL 向我的 Web 应用程序发出 Https 请求以使用户退出。由于它是双向 SSL,因此注销 url 受到保护。
我的问题如下:
是否有基于标准的方法来实现上述场景。在不久的将来,我的公司计划支持 OAuth 2.0,我想确保上述方案不会违反任何 OAuth 标准。据我了解,OAuth 2.0 将访问令牌的验证留给实现。我希望上述临时令牌是一种访问令牌。
一旦用户关闭门户浏览器,浏览器是否有可能销毁cookie。在这种情况下,如果用户稍后打开另一个浏览器,他/她应该再次进行身份验证。
【问题讨论】:
标签: security authentication oauth-2.0 single-sign-on restful-authentication