【问题标题】:Is it possible to set the Micronaut OAuth2 callback-uri as an absolute URL?是否可以将 Micronaut OAuth2 回调 uri 设置为绝对 URL?
【发布时间】:2020-12-17 11:21:41
【问题描述】:

我有一个使用 OpenId / OAuth2 / JWT 的 Micronaut 网络应用。在某些环境中,此设置一切正常,但是,在其他环境中,身份验证在调用配置的回调 uri 的步骤中失败。出于某种原因,在这些环境中,生成的 URL 是“http”而不是“https”。这会导致调用失败,因为我的应用程序只能通过 https 访问。

我不知道它为什么首先尝试使用 http,但是,如果我能够将回调 uri 指定为绝对/完整 URL,那么我可能可以在这些环境中解决这个异常。

我使用的一个示例 yml 配置:

  application:
    name: xxxxx
  security:
    authentication: idtoken
    oauth2:
      enabled: true
      clients:
        azure:
          client-id: ${OAUTH_CLIENT_ID}
          client-secret: ${OAUTH_CLIENT_SECRET}
          openid:
            issuer: https://login.microsoftonline.com/xxx
      callback-uri: ${OAUTH_CALLBACK_URI}
    redirect:
      login-success: ${LOGIN_SUCCESS_URL}
      logout: '/logout-handler/logout-success'
    endpoints:
      logout:
        get-allowed: true
    token:
      jwt:
        cookie:
          cookie-same-site: none
          cookie-secure: true

例如,在此配置中,如果我将 callback-uri 环境变量 (OAUTH_CALLBACK_URI) 设置为 /oauth/callback/azure,则似乎使用的完整 URL 是 http://xxxxx/oauth/callback/azure .但是,如果我对环境变量使用完整的 URL,例如https://xxxxx/oauth/callback/azure 然后它使用的完整 URL 仍然附加,而不是将其用作绝对 URL,即 http://xxxxx/https://xxxxx/oauth/callback/azure。

是否可以将此 uri 指定为绝对的,而不是像上面那样附加它来有效地复制它?

【问题讨论】:

标签: oauth-2.0 jwt openid-connect micronaut callbackurl


【解决方案1】:

好消息。这已在 micronaut-security 2.3.4 中修复 https://github.com/micronaut-projects/micronaut-security/pull/644

【讨论】:

    猜你喜欢
    • 2023-03-08
    • 2011-03-03
    • 1970-01-01
    • 1970-01-01
    • 2011-02-15
    • 1970-01-01
    • 2016-03-28
    • 1970-01-01
    • 2011-12-18
    相关资源
    最近更新 更多