【问题标题】:Spring Boot OAuth 2.0 and OAuth 1.0a clients in same appSpring Boot OAuth 2.0 和 OAuth 1.0a 客户端在同一个应用程序中
【发布时间】:2018-09-12 23:09:39
【问题描述】:

有人有在同一个 Spring Boot 应用程序中使用 OAuth2.0 和 OAuth 1.0a 客户端身份验证的经验吗?让 2 在同一系统中工作时遇到一些麻烦。我们的用例 - 用户可以将多个第 3 方帐户连接到我们的网络应用程序。这种连接是通过 OAuth 进行的,对于使用 OAuth 2.0 的 3rd 方服务,我们没有任何问题。现在我们想将 Twitter 添加为受支持的连接,使用他们的 OAuth 1.0a 路径,我们在使其工作时遇到了很多麻烦。只能使用 spring-social 找到这方面的示例,这可能不适合我们的用例,因为它与我们的其他集成路径不兼容。

任何经验或意见将不胜感激。

有效值。

【问题讨论】:

    标签: spring spring-boot twitter spring-security-oauth2 spring-social


    【解决方案1】:

    我的建议, 使用抄写员。他们完成了一项了不起的工作,让 OAutdone 覆盖了大量的供应商。转到他们的示例源代码,插入您的 appId 和密码,您几乎可以看到几乎所有提供程序都在工作

    https://github.com/scribejava

    【讨论】:

      【解决方案2】:

      请记住,OAuth 2.0 确实不向后兼容 OAuth 1.0,因此您不会找到同时处理这两个版本的解决方案。

      为了帮助你更好地理解两者的区别,我建议阅读How is OAuth 2 different from OAuth 1?

      您需要分别处理这两个版本,这可能会导致一些相当混乱的代码。

      无论如何,很遗憾 Twitter 没有迁移到 OAuth 2.0 以进行基于用户的身份验证,这将使您的一切变得不那么复杂。

      首先,您需要 spring-security-oauthspring-security-oauth2 依赖项。我建议看这里:https://github.com/spring-projects/spring-security-oauth/tree/master/samples

      两个版本都有一个示例。

      我不确定您是如何配置 OAuth2 的,但是由于上面提到的两个依赖项没有使用相同的属性名称,并且 OAuth2 几乎可以完全通过属性文件进行配置,我怀疑您是否需要担心 OAuth2 的实现。

      我有一个关于 OAuth2 实现的示例,这里几乎不需要配置 https://github.com/TwinProduction/spring-security-oauth2-client-example ,也许你可以从它开始,添加 OAuth 1.0 依赖项并从那里开始构建。

      祝你好运!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-07-03
        • 1970-01-01
        • 1970-01-01
        • 2015-01-14
        • 2018-11-15
        • 2013-07-15
        • 2019-05-11
        相关资源
        最近更新 更多