簡體   English   中英

是否可以將 Micronaut OAuth2 callback-uri 設置為絕對 URL?

[英]Is it possible to set the Micronaut OAuth2 callback-uri as an absolute URL?

我有一個使用 OpenId/OAuth2/JWT 的 Micronaut 網絡應用程序。 在某些環境中,使用此設置一切正常,但是,在其他環境中,身份驗證在調用配置的 callback-uri 的步驟中失敗。 出於某種原因,在這些環境中,生成的 URL 是“http”而不是“https”。 這會導致調用失敗,因為我的應用程序只能通過 https 訪問。

我不知道為什么它首先嘗試使用 http,但是,如果我能夠將 callback-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,而不是將其用作絕對 URL,即 http://xxxxx /https://xxxxx/oauth/callback/azure。

是否可以將這個 uri 指定為絕對的,而不是像上面那樣有效地復制它?

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM