Sign Up/In not working in ASP. NET Core application: Azure B2C

Sign Up/In not working in ASP. NET Core application: Azure B2C

Problem Description:

We configured user flow with Google as identity provider. Followed the Azure-Sample repository on GitHub in building one ASP.NET Core webapp with .NET6.

appsettings.json:-

"AzureAdB2C": {
    "Instance": "https://b2ctenant.b2clogin.com",
    "ClientId": "3ae27e38-90a3-43c7-9bac-8d3bf33227f9",
    "Domain": "b2ctenant.b2clogin.com",
    "SignedOutCallbackPath": "/signout/B2C_1_susi",
    "SignUpSignInPolicyId": "b2c_1_susi",
    "ResetPasswordPolicyId": "b2c_1_reset",
    "EditProfilePolicyId": "b2c_1_edit_profile" // Optional profile editing policy
    //"CallbackPath": "/signin/B2C_1_sign_up_in"  // defaults to /signin-oidc

https://localhost:44316

enter image description here

Getting exception when users select Sign Up/In option

IOException: IDX20807: Unable to retrieve document from: ‘[PII of type ‘System.String’ is hidden. For more details, see
https://aka.ms/IdentityModel/PII.]’. HttpResponseMessage: ‘[PII of
type ‘System.Net.Http.HttpResponseMessage’ is hidden. For more
details, see https://aka.ms/IdentityModel/PII.]’,
HttpResponseMessage.Content: ‘[PII of type ‘System.String’ is hidden.
For more details, see https://aka.ms/IdentityModel/PII.]’.
Microsoft.IdentityModel.Protocols.HttpDocumentRetriever.GetDocumentAsync(string
address, CancellationToken cancel)
Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectConfigurationRetriever.GetAsync(string
address, IDocumentRetriever retriever, CancellationToken cancel)

Microsoft.IdentityModel.Protocols.ConfigurationManager.GetConfigurationAsync(CancellationToken
cancel)
nvalidOperationException: IDX20803: Unable to obtain configuration from: ‘[PII of type ‘System.String’ is hidden. For more
details, see https://aka.ms/IdentityModel/PII.]’.
Microsoft.IdentityModel.Protocols.ConfigurationManager.GetConfigurationAsync(CancellationToken
cancel)
Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectHandler.HandleChallengeAsyncInternal(AuthenticationProperties
properties)
Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectHandler.HandleChallengeAsync(AuthenticationProperties
properties)
Microsoft.AspNetCore.Authentication.AuthenticationHandler.ChallengeAsync(AuthenticationProperties
properties)
Microsoft.AspNetCore.Authentication.AuthenticationService.ChallengeAsync(HttpContext
context, string scheme, AuthenticationProperties properties)
Microsoft.AspNetCore.Mvc.ChallengeResult.ExecuteResultAsync(ActionContext
context)
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|30_0<TFilter,
TFilterAsync>(ResourceInvoker invoker, Task lastTask, State next,
Scope scope, object state, bool isCompleted)
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResultExecutedContextSealed
context)
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.ResultNext<TFilter,
TFilterAsync>(ref State next, ref Scope scope, ref object state, ref
bool isCompleted)
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|28_0(ResourceInvoker
invoker, Task lastTask, State next, Scope scope, object state, bool
isCompleted)
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|25_0(ResourceInvoker
invoker, Task lastTask, State next, Scope scope, object state, bool
isCompleted)
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed
context)
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(ref State
next, ref Scope scope, ref object state, ref bool isCompleted)
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|20_0(ResourceInvoker
invoker, Task lastTask, State next, Scope scope, object state, bool
isCompleted)
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Logged|17_1(ResourceInvoker
invoker)
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Logged|17_1(ResourceInvoker
invoker)
Microsoft.AspNetCore.Routing.EndpointMiddleware.g__AwaitRequestTask|6_0(Endpoint
endpoint, Task requestTask, ILogger logger)
Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext
context)
Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext
context)
Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddlewareImpl.Invoke(HttpContext
context)

Solution – 1

I tried to reproduce the same in my environment and got below results:

I registered one application and granted API permissions like below:

enter image description here

I cloned the same GitHub sample and updated appsettings.json file same as you like below:

enter image description here

I ran the above sample and got below screen:

enter image description here

When I clicked on Sign Up/In button, I got same error as you like below:

enter image description here

Note that, you are giving wrong value to your Domain parameter in your appsettings.json file. You need to change value of Domain parameter that can be found here:

enter image description here

To resolve the error, I changed value of Domain parameter in my
appsettings.json file like below:

enter image description here

When I clicked on Sign Up/In button now by running the sample, I got the login screen with Google successfully like below:

enter image description here

Reference: Configure authentication using Azure Active Directory B2C | Microsoft

Rate this post
We use cookies in order to give you the best possible experience on our website. By continuing to use this site, you agree to our use of cookies.
Accept
Reject