【问题标题】:How can I design the security to have a centralized authenticator using Spring? [closed]如何设计安全性以使用 Spring 进行集中式身份验证器? [关闭]
【发布时间】:2019-10-11 04:42:18
【问题描述】:

我想要一个用于各种 App 的集中式身份验证器。此身份验证器必须允许我使用 Facebook、Google 和表单(使用我的本地数据库)登录。

我可以为我自己的数据库使用 Google、Git 和 Facebook 的 Oauth2 和 OpenId 连接(特别是 mitreID 连接)吗?

特别是我不知道是否有必要为此目的使用 openId。

最好的方法是什么?

【问题讨论】:

    标签: spring spring-boot spring-security oauth-2.0 openid


    【解决方案1】:

    GitHub 存储库中的Apache Oltu OAuth 2.0 Client and Provider 是 Apache Oltu 的一个分支,Pull Request #10 用于两个新提交“添加提供程序演示和自述文件”。

    (1) 引用“此身份验证器必须允许我使用 Facebook、Google 和表单(使用我的本地数据库)登录。”

    回应
    您可以按照 README 说明构建 Oltu 并运行 OAuth 2.0 客户端演示和 OAuth 2.0 提供程序演示,以说明本地 OAuth 2.0 客户端和本地 OAuth 2.0 服务器、Facebook、Google、Github 之间的 OAuth 2.0 身份验证/授权流程, LinkedIn、微软和 Instagram。

    您可以修改“demos/client-demo/src/main/webapp/WEB-INF/views/index.jsp”以在表单下方列出 Facebook 和 Google 的登录按钮(使用我的本地数据库)。

    备注:出于演示目的,本地 OAuth 2.0 服务器(由Apache Oltu OAuth 2.0 Client and Provider 在 GitHub 存储库开发)使用数据文件“demos/provider-demo/src/main/java/org/apache /oltu/oauth2/provider/demo/Common.java”而不是本地数据库来存储用户信息。

    (2) 问题“我可以将 Oauth2 用于 Google、Git 和 Facebook 并将 OpenId 连接(特别是 mitreID 连接)用于我自己的数据库吗?”

    回答
    是的。您可以将 Oauth2 用于 Google、Git 和 Facebook,并将 OpenId 连接(特别是 mitreID 连接)用于您自己的数据库。您只需要将 Google、Git 和 Facebook 发送的用户信息和 OpenId 连接(特别是 mitreID 连接)与存储在您自己的数据库中的本地用户信息进行映射。

    代码“demos/client-demo/src/main/java/org/apache/oltu/oauth2/client/demo/controller/ResourceController.java”resourceResponse.getBody()检索由 Google、Git 和 Facebook 发送的用户信息和 OpenId 连接(特别是 mitreID 连接)。

    (3) 引用“特别是我不知道是否有必要为此使用openId。”

    回应
    Apache Oltu OpenID Connect Client and Provider GitHub 仓库,开发了一个本地 OpenID Connect 客户端和一个基于 Apache Oltu 的 OpenID Connect 服务器,可以作为集中式 OpenID Connect 客户端的参考”如果有必要使用 openId 作为您的各种 App 的集中身份验证器”。

    【讨论】:

      猜你喜欢
      • 2017-06-18
      • 2018-02-10
      • 2021-01-14
      • 2013-05-09
      • 1970-01-01
      • 1970-01-01
      • 2017-07-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多