如何解决Quarkus-oidc使用Azure-AD进行后端令牌验证
我目前正在构建一个供React前端使用的Quarkus后端应用程序。 前端在Azure中注册并具有一个客户端ID。它将针对Azure AD授权并获取一个id令牌。 该令牌将被传递到后端。
我现在的工作是验证此令牌并按用户角色限制资源。 由于我们使用的是Quarkus,因此我研究了Quarkus-OIDC扩展,并认为可以使用它。
我已经在Quarkus-oidc教程中编写了一个简单的资源,例如
@RolesAllowed("user")
@GET
@Path("/user")
@Produces(MediaType.TEXT_PLAIN)
public String testUser() {
return "Users Login Success";
}
到目前为止,我已经将属性quarkus.oidc.auth-server-url=https://login.microsoftonline.com/common/v2.0
,quarkus.oidc.client-id
和quarkus.oidc.credentials.client-secret.value
设置为可以针对Azure进行身份验证,我希望足够。
使用quarkus:dev
启动Quarkus时,出现以下错误:
io.quarkus.oidc.OIDCException: OIDC server is not available at the 'quarkus.oidc.auth-server-url' URL
...
Caused by: io.vertx.core.impl.NoStackTraceThrowable: issuer validation failed: received [https://login.microsoftonline.com/{tenantid}/v2.0]
我不知道为什么它有{tenantId}
,因为我在auth-url中指定了common
。
如果这是错误的网址,那么正确的网址是什么?
解决方法
已解决。与我们的文档中指定的不同,它不是普通租户
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。