我用oauth2客户端设置了spring boot,下面是我的属性:
spring:
security:
oauth2:
client:
registration:
azuread:
authorization-grant-type: authorization_code
client-id: 'client id'
client-secret: 'secret'
provider: azuread
scope: openid
client-name: demo
user-flows:
sign-up-or-sign-in: <policy name>
provider:
azuread:
issuer-uri: https://{clientId}.b2clogin.com/{clientId}.onmicrosoft.com/<policy-name>/v2.0/.well-known/openid-configuration
当Spring启动时,它抱怨:"配置元数据中提供的颁发者与请求的颁发者不匹配"我检查了实现,发现azure b2c颁发者URI中没有策略或用户流,但我们必须在spring配置中将策略名称设置为路径变量,并且在spring rest调用https://{clientId} .b2clogin.com/{clientId}. onmicrosoft.com//v2.0/.well-known/openid-configuration后,spring将检查响应,以将其与auzre响应进行比较,其中它们不相同
应为:https://{客户端ID}. b2clogin.com/{客户端ID}.在Microsoft.com//v2.0/上
结果:
https://{客户端ID} .b2clogin.com/{客户端ID}.在微软网站上
我尝试了spring boot oauth2引用检查azure b2c AD文档和spring示例,但是我不想使用spring boot azure AD b2c启动器,只使用oauth2客户端
1条答案
按热度按时间jk9hmnmh1#
出现的错误是由于元数据不正确。元数据应具有tenantId而不是clientId。
它应该是https://{tenantId}.b2clogin.com/{tenantId}.onmicrosoft.com/{策略名称}/v2.0/.知名/openid-configuration,其中tenantId是你的Azure Active Directory租户的名称。