【问题标题】:Spring Security Oauth ServerSpring Security Oauth 服务器
【发布时间】:2022-01-14 16:04:29
【问题描述】:

我正在按照教程 https://www.baeldung.com/spring-security-oauth-auth-server 使用 Spring Boot 实现身份验证服务器。 但是我无法理解一种配置。

spring:
  security:
    oauth2:
      client:
        registration:
          articles-client-oidc:
            provider: spring
            client-id: articles-client
            client-secret: secret
            authorization-grant-type: authorization_code
            redirect-uri: "http://127.0.0.1:8080/login/oauth2/code/{registrationId}"
            scope: openid
            client-name: articles-client-oidc
          articles-client-authorization-code:
            provider: spring
            client-id: articles-client
            client-secret: secret
            authorization-grant-type: authorization_code
            redirect-uri: "http://127.0.0.1:8080/authorized"
            scope: articles.read
            client-name: articles-client-authorization-code
        provider:
          spring:
            issuer-uri: http://auth-server:9000

什么是articles-client-oidc 和articles-client-authorization-code ? redirect-uri: "http://127.0.0.1:8080/authorized" 有什么作用?任何人都可以分享任何更好的解释。

【问题讨论】:

    标签: spring-security


    【解决方案1】:

    articles-client-oidc 和 articles-client-authorization-code 是 registrationIds。这些是您选择的任意标识符,以区分不同的客户端配置。

    redirect-uri是用户授权客户端后授权服务器应该重定向的地方:

    • 首先,用户访问您的应用。
    • 其次,用户被重定向到授权服务器进行登录和同意。
    • 第三,授权服务器重定向到redirect-uri,执行剩余的认证步骤。

    Spring Security 有一个内置的端点来接收授权服务器的响应,所以redirect-uri 通常设置为:{baseUrl}/login/oauth2/code/{registrationId}。

    我假设本文试图演示自定义重定向 URI,这就是为什么第二个客户端使用 http://127.0.0.1:8080/authorized 而不是内置的 Spring Security 支持。

    【讨论】:

      猜你喜欢
      • 2022-01-14
      • 2015-01-19
      • 2015-02-17
      • 2016-01-08
      • 2015-02-19
      • 2015-12-11
      • 2015-05-22
      • 2017-11-04
      • 2019-02-18
      相关资源
      最近更新 更多