Azure b2c .Net 核心后端始终提供 401,前端反应访问令牌前端
Azure b2c .Net core backend is always giving a 401, front react access token front end
我有一个反应 front-end 位于 azure b2c 的登录后面,如果用户在我的租户中注册,它允许用户登录。
然后我使用“react-aad-msal”向我的支持者发送了一个访问令牌:
signInAuthProvider.getAccessToken({
scopes: ["https://tenantname.onmicrosoft.com/api/scope_name"],
});
当我通过 bearer-auth header 将此令牌发送到我的 .net core 3.1 back-end 时,我收到 401。
我正在使用 addazurereadbearer 服务:
services.AddAuthentication(AzureADDefaults.JwtBearerAuthenticationScheme)
.AddAzureADBearer(options => Configuration.Bind("AzureAd", options));
我的配置部分看起来像这样:
"AzureAd": {
"Instance": "https://login.microsoftonline.com/tenantname",
"TenantId": "tenantid",
"ClientId": "clientid",
"Audience": "https://tenantname.onmicrosoft.com/api/api.access"
}
我相信它正在做某种交叉检查,因为我收到 401 而不是能够连接到 azure 的错误。
您需要使用 b2c 进行身份验证,而不是使用 AAD
{
"AzureAdB2C": {
"Instance": "https://<your tenant name>.b2clogin.com",
"ClientId": " your client id",
"Domain": "your tenant domain",
"TenantId": "your tenant id",
"SignUpSignInPolicyId": "your policy name"
}
请参考此github on .net core web API in b2c
我有一个反应 front-end 位于 azure b2c 的登录后面,如果用户在我的租户中注册,它允许用户登录。
然后我使用“react-aad-msal”向我的支持者发送了一个访问令牌:
signInAuthProvider.getAccessToken({
scopes: ["https://tenantname.onmicrosoft.com/api/scope_name"],
});
当我通过 bearer-auth header 将此令牌发送到我的 .net core 3.1 back-end 时,我收到 401。
我正在使用 addazurereadbearer 服务:
services.AddAuthentication(AzureADDefaults.JwtBearerAuthenticationScheme)
.AddAzureADBearer(options => Configuration.Bind("AzureAd", options));
我的配置部分看起来像这样:
"AzureAd": {
"Instance": "https://login.microsoftonline.com/tenantname",
"TenantId": "tenantid",
"ClientId": "clientid",
"Audience": "https://tenantname.onmicrosoft.com/api/api.access"
}
我相信它正在做某种交叉检查,因为我收到 401 而不是能够连接到 azure 的错误。
您需要使用 b2c 进行身份验证,而不是使用 AAD
{
"AzureAdB2C": {
"Instance": "https://<your tenant name>.b2clogin.com",
"ClientId": " your client id",
"Domain": "your tenant domain",
"TenantId": "your tenant id",
"SignUpSignInPolicyId": "your policy name"
}
请参考此github on .net core web API in b2c