3

我们有多个 Web 项目(站点),每个项目都有自己的授权逻辑。今天,我的 CIO 要求我实施 oAuth 并使用它来验证所有站点的用户。

早些时候,我曾为 Google、Facebook、Twitter 和 Microsoft 使用过 oAuth。我在这里有多个问题

  1. 实施 oAuth 提供者有什么优势
  2. 通用 oAuth 原则中的最佳方法是什么
  3. 我可以将此 oAuth 服务器用于单点登录吗

当我有来自 Google 或其他的用户 oAuth 时,我的想法是消除用户在我的网站上注册的努力,而不是使用他/她为 Google 拥有的相同凭据。如果我创建自定义 oAuth,这是我获得的唯一优势吗?

实施oAuth:

  • 使用 ApplicationName、ClientID、ClientSecrete 创建一个应用程序实体
  • 使用 UserId、UserName、Password、ApplicationID 创建用户实体
  • 与每个站点共享唯一的 ClientID 和 Secrete,当用户尝试从该站点登录时,传递 clientID、clientSecrete、UserName、Password 并验​​证并返回 true 或 false
  • 按照类似的流程让用户注册到系统。

在高层次上,我的上述流程是否满足 oAuth 概念?是否有 oAuth 的深入实现细节可供我参考以更好地理解?

4

1 回答 1

1

http://oauth.net/articles/authentication/

这是一本很好的读物,告诉你应该为 OAuth 使用什么而不是 :=)

https://msdn.microsoft.com/en-us/library/hh291066(v=vs.110).aspx Windows Identity Fundation ...可以帮助您获得跨不同应用程序和层的唯一授权..

最后,这里有一些如何做的指导方针:

http://www.c-sharpcorner.com/UploadFile/scottlysle/windows-identity-foundation-and-single-sign-on-sso/

于 2015-04-15T21:39:28.477 回答