[英]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.