【问题标题】:How to implement an OAuth 2.0 Authorization Server?如何实现 OAuth 2.0 授权服务器?
【发布时间】:2014-09-08 01:08:32
【问题描述】:

我了解如何为客户端编写运行 OAuth 2.0 代码。

使用现有的授权服务器,如谷歌,似乎并不太复杂。

问题是:如何实现自己的授权服务器?

由于许多公司都有自己的用户/权限系统、基于 LDAP(例如 Active Directory)等 - 他们必须拥有自己的授权服务器。

是否有为此提供框架、库等?还是我必须从头开始编写代码?

【问题讨论】:

  • 您能否在您的问题中添加有关您可能使用什么平台/服务器来实现您的授权服务器的详细信息? http://oauth.net/code/ 似乎有很多选择
  • Java。最好使用 Apache 框架(例如 CXF)。
  • Apache oltu 看起来是个不错的起点。

标签: oauth-2.0 authorization


【解决方案1】:

最好的参考是OAuth 2.0 site。它们列出了您可以使用的可用服务器库。目前,选项有:

Java

  • 阿帕奇奥尔图
  • OAuth 的 Spring 安全性
  • API 授权服务器 (v2-31)
  • Restlet 框架(草案 30)
  • Apache CXF

PHP

  • PHP OAuth2 服务器和演示
  • PHP OAuth 2.0 身份验证和资源服务器及演示
  • PHP OAuth 2.0(带有 SAML/BrowserID AuthN,带有管理 REST API,请参阅演示)

Python

  • Python OAuth 2.0 提供程序(参见教程)
  • OAuthLib(OAuth 请求签名逻辑的通用实现)适用于 Django 和 Flask Web 框架

其他

  • NodeJS OAuth 2.0 提供程序
  • Ruby OAuth2 服务器(草案 18)
  • .NET DotNetOpenAuth
  • Erlang Oauth2 服务器框架

我还强烈建议您在开始之前阅读所有documentation available 以了解该标准的工作原理。 OAuth 有很多部分,可能会让人感到困惑。至少,我是这么觉得的。

【讨论】:

  • 更多:Perl CatalystX::OAuth2::Provider
【解决方案2】:

查看 Forgrock 的 OpenAM。只需少量工作,您就可以运行基于 Java 的 OAuth 授权服务器。

http://openam.forgerock.org/

【讨论】:

    猜你喜欢
    • 2013-10-05
    • 2015-01-15
    • 2016-08-12
    • 2012-10-01
    • 1970-01-01
    • 2018-12-07
    • 2014-07-09
    • 1970-01-01
    • 2016-05-10
    相关资源
    最近更新 更多