身份验证提供程序和OAuth

我可以运行自己的身份验证提供程序(即基于OpenId)并让用户使用OAuth进行身份验证吗? 提供者将作为SSO点服务于多个Web应用程序。

做到这一点的原因是,我只需要一个applicationID(来自每个支持的OAuth提供者)为我的所有webapps。 该提供商将提供JSON安全令牌,这将用于安全访问。

更新我将只添加用例的例子

  • 用户想要登录到我的一些webapp
  • 用户被重定向到我的身份提供者
  • 用户选择他想要登录的方式(pasword或某些OAuth提供程序)
  • 在名称/传递的情况下,我的ID提供程序将只进行身份验证,授权通常的方式并生成用户可以使用的安全令牌
  • 如果用户选择OAuth登录,他将遵循正常的OAuth流程,该流程将由OAuth提供商验证用户身份,然后在完成重定向回到我的ID提供商时,这将生成安全令牌,用户可以使用
  • 用户可以使用令牌向我所有的webapps证明自己
  • 该webapps将验证用户令牌对我的ID提供者
  • 如何将来自不同提供商的相同用户帐户连接在一起将会有某种方式。


    是的,你可以看看Thinktecture的IdentityServer。

    但要做你想做的事,你不需要运行你自己的OpenID Connect提供者。 例如,您可以使用现有的解决方案,如Azure Active Directory。

    更新:从您的评论看来,您看起来确实在寻找联合供应商。 看看Azure访问控制服务,并将其作为身份提供商与Google进行整合:https://msdn.microsoft.com/en-us/library/azure/gg185929.aspx

    链接地址: http://www.djcxy.com/p/22273.html

    上一篇: Authentication provider and OAuth

    下一篇: REST authentication / authorization