我如何设计安全性以使用 Spring 进行集中式身份验证?
How can I design the security to have a centralized authenticator using Spring?
我想要一个针对各种应用程序的集中验证器。此身份验证器必须允许我使用 Facebook Google 和表单(使用我的本地数据库)登录。
我可以将 Oauth2 用于 Google、Git 并将 Facebook 和 OpenId 连接(特别是 mitreID 连接)用于我自己的数据库吗?
特别是我不知道是否有必要为此使用openId。
最好的方法是什么?
Apache Oltu OAuth 2.0 Client and Provider at GitHub repository is a fork of Apache Oltu with Pull Request #10 两个新提交 "Add provider demo and README".
(1) 引用 "This authenticator must allow me to login with Facebook, Google and with a form (using my local DB)."
回应:
您可以按照 README 说明构建 Oltu 和 运行 OAuth 2.0 客户端演示和 OAuth 2.0 提供程序演示来说明本地 OAuth 2.0 客户端和本地 OAuth 2.0 服务器之间的 OAuth 2.0 authentication/authorization 流程, Facebook、Google、Github、LinkedIn、Microsoft 和 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) 问题 "Can I use Oauth2 for Google, Git and Facebook and OpenId connect (mitreID connect in particular) for my own database?"
回答:
是的。您可以将 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) 引用 "In particular I don't know if it is necessary to use openId for this purpose."
回应:
Apache Oltu OpenID Connect Client and Provider 位于 GitHub 存储库,它开发了本地 OpenID Connect 客户端和基于 Apache Oltu 的 OpenID Connect 服务器,可以作为集中式 OpenID Connect 客户端的参考 "if it is necessary to use openId for your centralized authenticator for various App"。
我想要一个针对各种应用程序的集中验证器。此身份验证器必须允许我使用 Facebook Google 和表单(使用我的本地数据库)登录。
我可以将 Oauth2 用于 Google、Git 并将 Facebook 和 OpenId 连接(特别是 mitreID 连接)用于我自己的数据库吗?
特别是我不知道是否有必要为此使用openId。
最好的方法是什么?
Apache Oltu OAuth 2.0 Client and Provider at GitHub repository is a fork of Apache Oltu with Pull Request #10 两个新提交 "Add provider demo and README".
(1) 引用 "This authenticator must allow me to login with Facebook, Google and with a form (using my local DB)."
回应:
您可以按照 README 说明构建 Oltu 和 运行 OAuth 2.0 客户端演示和 OAuth 2.0 提供程序演示来说明本地 OAuth 2.0 客户端和本地 OAuth 2.0 服务器之间的 OAuth 2.0 authentication/authorization 流程, Facebook、Google、Github、LinkedIn、Microsoft 和 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) 问题 "Can I use Oauth2 for Google, Git and Facebook and OpenId connect (mitreID connect in particular) for my own database?"
回答:
是的。您可以将 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) 引用 "In particular I don't know if it is necessary to use openId for this purpose."
回应:
Apache Oltu OpenID Connect Client and Provider 位于 GitHub 存储库,它开发了本地 OpenID Connect 客户端和基于 Apache Oltu 的 OpenID Connect 服务器,可以作为集中式 OpenID Connect 客户端的参考 "if it is necessary to use openId for your centralized authenticator for various App"。