Azure B2C 自定义策略 + OpenID 连接 c# 库
Azure B2C Custom Policy + OpenID connect c# library
我设置了 Azure B2C 和自定义策略,在 Azure 门户中它指出发现端点是:
但是,当通过 OpenId 库 (Microsoft.AspNetCore.Authentication.OpenIdConnect) 进行设置时:
builder.AddOpenIdConnect(openIdProvider.IdentityProviderId, openIdProvider.IdentityProviderName,
options =>
{
options.SignInScheme = Constants.SignInScheme;
options.SignOutScheme = IdentityServerConstants.SignoutScheme;
options.Authority = "https://TENANT_NAME.b2clogin.com/TENANT_NAME.onmicrosoft.com/v2.0/.well-known/openid-configuration?p=B2C_1A_signup_signin"
options.ClientId = openIdProvider.OpenIdClientId;
options.ClientSecret = openIdProvider.OpenIdClientSecret;
})
我收到以下错误:
InvalidOperationException:IDX20803:无法从以下位置获取配置:'https://TENANT_NAME.b2clogin.com/TENANT_NAME.onmicrosoft.com/v2.0/.well-known/openid-configuration?p=B2C_1A_signup_signin/.well-known/openid-configuration'。
出于某种原因,它附加了“/.well-known/openid-configuration”,这在 Azure AD 中工作得很好,因为我没有使用查询字符串参数。我假设图书馆正在附加该字符串,因为 url 不以“/.well-known/openid-configuration”结尾。
有办法解决这个问题吗?或者强制 OpenId 使用我指定的实际 URL?
有办法解决这个问题吗?我必须使用库的 2.2.0 (https://www.nuget.org/packages/Microsoft.AspNetCore.Authentication.OpenIdConnect/2.2.0)。
您可以使用另一种 url 格式,如果您使用“纯”OpenIdConnect,这种格式效果很好。
// Authority
https://tenant_name.b2clogin.com/TENANT_NAME.onmicrosoft.com/B2C_1A_signup_signin/v2.0/
// OpenIdConnect Config URL
https://tenant_name.b2clogin.com/TENANT_NAME.onmicrosoft.com/B2C_1A_signup_signin/v2.0/.well-known/openid-configuration
我设置了 Azure B2C 和自定义策略,在 Azure 门户中它指出发现端点是:
但是,当通过 OpenId 库 (Microsoft.AspNetCore.Authentication.OpenIdConnect) 进行设置时:
builder.AddOpenIdConnect(openIdProvider.IdentityProviderId, openIdProvider.IdentityProviderName,
options =>
{
options.SignInScheme = Constants.SignInScheme;
options.SignOutScheme = IdentityServerConstants.SignoutScheme;
options.Authority = "https://TENANT_NAME.b2clogin.com/TENANT_NAME.onmicrosoft.com/v2.0/.well-known/openid-configuration?p=B2C_1A_signup_signin"
options.ClientId = openIdProvider.OpenIdClientId;
options.ClientSecret = openIdProvider.OpenIdClientSecret;
})
我收到以下错误:
InvalidOperationException:IDX20803:无法从以下位置获取配置:'https://TENANT_NAME.b2clogin.com/TENANT_NAME.onmicrosoft.com/v2.0/.well-known/openid-configuration?p=B2C_1A_signup_signin/.well-known/openid-configuration'。
出于某种原因,它附加了“/.well-known/openid-configuration”,这在 Azure AD 中工作得很好,因为我没有使用查询字符串参数。我假设图书馆正在附加该字符串,因为 url 不以“/.well-known/openid-configuration”结尾。
有办法解决这个问题吗?或者强制 OpenId 使用我指定的实际 URL?
有办法解决这个问题吗?我必须使用库的 2.2.0 (https://www.nuget.org/packages/Microsoft.AspNetCore.Authentication.OpenIdConnect/2.2.0)。
您可以使用另一种 url 格式,如果您使用“纯”OpenIdConnect,这种格式效果很好。
// Authority
https://tenant_name.b2clogin.com/TENANT_NAME.onmicrosoft.com/B2C_1A_signup_signin/v2.0/
// OpenIdConnect Config URL
https://tenant_name.b2clogin.com/TENANT_NAME.onmicrosoft.com/B2C_1A_signup_signin/v2.0/.well-known/openid-configuration