【问题标题】:how to implement oauth2 on java restful services如何在 Java RESTful 服务上实现 oauth2
【发布时间】:2017-04-19 11:01:43
【问题描述】:

我需要oauth2.0java restful (jersey) 方面的帮助,任何帮助将不胜感激,我需要找到方法how oauth2 would be implemented。这是场景,我们有一个基于 Web 的应用程序,现在有客户参与其中。他们计划拥有一个APIRestful 服务),以便在移动设备上使用它(android and ios)。 (他们可以使用手机登录并更新他们的帐户等)。

现在,我的问题是如何使用 java 集成 oauth2 以确保其安全性以及如何创建授权服务器。

【问题讨论】:

    标签: oauth


    【解决方案1】:

    我曾经有同样的问题,最终构建了一个开源项目:srb4j,它也是基于 Jersey 和 OAuth2。

    Srb4j 已经为您实现了令牌端点和资源端点。您可以将其大量代码应用到您自己现有的系统中。

    【讨论】:

      【解决方案2】:

      # 很抱歉这个广告,但它可能对你有帮助...

      java-oauth-server 是一个新的 Java 授权服务器实现(JAX-RS、Jersey、Jetty),它支持 OAuth 2.0OpenID Connect

      实现是DB-less,因为授权数据(例如访问令牌)、授权服务器本身的设置和客户端应用程序的设置都存储在云上的数据库中。因此,您不必在启动授权服务器之前设置数据库服务器。

      下载和启动授权服务器只需 4 个命令。

      git clone https://github.com/authlete/java-oauth-server.git
      cd java-oauth-server
      vi authlete.properties
      mvn jetty:run
      

      java-oauth-server 的源代码树非常小,自定义点被抽象为 SPI(Service Provider Interface),因此很容易将授权服务器实现合并到您现有的 Web 服务中。

      该实现支持RFC 7636(OAuth 公共客户端进行代码交换的证明密钥)。它是关于针对授权码拦截攻击的对策的新规范(2015 年 9 月发布)。如果您想向移动应用程序公开 Web API,我建议您寻找支持 RFC 7636 的实现。

      关于 RFC 7636 的图解说明是here

      【讨论】:

      【解决方案3】:

      感谢作者,我最终使用了这个库 https://github.com/BrightcoveLearning/oauth-client-examples/tree/master/amber-java 并像魅力一样工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-25
        • 1970-01-01
        • 2011-12-05
        • 2011-06-04
        • 2015-04-13
        相关资源
        最近更新 更多