【发布时间】:2015-05-25 12:30:18
【问题描述】:
我可以运行自己的身份验证提供程序(即基于 OpenId)并让用户使用 OAuth 对其进行身份验证吗?提供商将作为多个 Web 应用程序的 SSO 点提供服务。
这样做的原因是,我的所有 webapps 只需要一个 applicationID(来自每个支持的 OAuth 提供程序)。提供者将提供 JSON 安全令牌,用于安全访问。
更新 我将添加用例示例
- 用户想要登录我的一些 web 应用
- 用户被重定向到我的身份提供者
- 用户选择他想要登录的方式(密码,或一些 OAuth 提供者)
- 在名称/密码的情况下,我的 ID 提供者将只进行身份验证、授权和生成用户可以使用的安全令牌
- 如果用户选择 OAuth 登录,他将遵循正常的 OAuth 流程,该流程将由 OAuth 提供商验证用户身份,然后在完成后重定向回我的 ID 提供商,这将生成用户可以使用的安全令牌
- 用户可以使用令牌向我的所有 web 应用证明自己
- webapps 将根据我的 ID 提供者验证用户令牌
将通过某种方式将来自不同提供商的相同用户帐户连接在一起。
【问题讨论】:
标签: java security oauth openid