oauth-2.0 - 是否可以将 Micronaut OAuth2 回调 uri 设置为绝对 URL?
问题描述
我有一个使用 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 指定为绝对的,而不是像上面那样附加它来有效地复制它?
解决方案
好消息。这已在 micronaut-security 2.3.4 https://github.com/micronaut-projects/micronaut-security/pull/644中修复
推荐阅读
- excel - 如何从oracle数据库中获取表头到excel中
- c# - 使用 web api 承载令牌基础身份验证生成令牌时如何设置一些用户数据
- java - 解析 json 错误:java.lang.IllegalStateException:不是 JSON 对象:
- javascript - 销毁 node-cron 作业或取消 node-scheduler 作业
- javascript - 类似对象 .map() 的 JavaScript 数组
- mongodb - 什么时候存储数据不同的集合MongoDB?
- python - 更新由行组成的列并用新值 Python 替换
- javascript - 如何在Angular 5应用程序中正确格式化输入文本编号?
- optimization - 根据朋友的喜好将学生分组
- javascript - 如何在 React-Native 中将子视图与左对齐空间?