在同一服务器中使用我们自己的 Oauth 授权和社交登录授权



我们希望使用我们自己的用户表将 REST API 与 OAuth2 一起使用进行身份验证。此外,我们需要允许社交登录。以下是社交登录的流程,

我们的官方办公场所

  1. 客户为我们的服务器提供身份验证和访问令牌 URL 以接收访问令牌
  2. 客户端发送access_token,以便在标头中作为持有者进行进一步调用令 牌

社交登录

  1. 客户端向社交登录服务器进行身份验证和访问令牌 URL(对于例如,https://accounts.google.com/( 接收访问令牌
  2. 客户端发送标头中进一步调用的access_token。

我们已经在Spring上实现了我们的OAuth,并且工作得很好。我们有关于社交登录的问题,

  1. 如何识别我们自己的Oauth访问令牌和社交登录访问令 牌。我们可能有很多社交登录,我们应该能够识别相应的社交登录。
  2. 如何验证并与 Spring Boot 集成?

如果访问令牌只是随机字符串,则可能无法告知提供的令牌的颁发者,也无法对其进行验证。

我建议您扩展OAuth2服务器以接受第三方提供商(Google,Facebook等(进行身份验证。这种方式将同时支持本地用户和社会用户,但在您的应用程序中,您将始终处理自己的令牌。这将使应用程序安全性更加容易(这通常意味着更安全(,您还可以为访问令牌配置自己的范围。还有现成的解决方案 - 例如Keycloak。

最新更新