簡體   English   中英

注冊/在 ASP..NET 核心應用程序中不起作用:Azure B2C

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

我們使用 Google 作為身份提供者來配置用戶流。 按照 GitHub 上的 Azure-Sample 存儲庫使用.NET6構建一個 ASP.NET Core webapp。

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

在此處輸入圖像描述

當用戶 select Sign Up/In選項時出現異常

IOException:IDX20807:無法從以下位置檢索文檔:'['System.String' 類型的 PII 已隱藏。 有關詳細信息,請參閱 https://aka.ms/IdentityModel/PII。]'。 HttpResponseMessage: '['System.Net.Http.HttpResponseMessage' 類型的 PII 已隱藏。 有關詳細信息,請參閱 https://aka.ms/IdentityModel/PII。]', HttpResponseMessage.Content: '['System.String' 類型的 PII 已隱藏。 有關詳細信息,請參閱 https://aka.ms/IdentityModel/PII。]'。
Microsoft.IdentityModel.Protocols.HttpDocumentRetriever.GetDocumentAsync(字符串地址,CancellationToken 取消)
Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectConfigurationRetriever.GetAsync(字符串地址,IDocumentRetriever 檢索器,CancellationToken 取消)

Microsoft.IdentityModel.Protocols.ConfigurationManager.GetConfigurationAsync(CancellationToken cancel)nvalidOperationException:IDX20803:無法從以下位置獲取配置:'['System.String' 類型的 PII 已隱藏。 有關詳細信息,請參閱 https://aka.ms/IdentityModel/PII。]'。 Microsoft.IdentityModel.Protocols.ConfigurationManager.GetConfigurationAsync(CancellationToken 取消) Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectHandler.HandleChallengeAsyncInternal(AuthenticationProperties 屬性) .ChallengeAsync(AuthenticationProperties 屬性)Microsoft.AspNetCore.Authentication.AuthenticationService.ChallengeAsync(HttpContext 上下文、字符串方案、AuthenticationProperties 屬性)Microsoft.AspNetCore.Mvc.ChallengeResult.ExecuteResultAsync(ActionContext 上下文)Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited| 30_0<TFilter, TFilterAsync>(ResourceInvoker invoker, Task lastTask, State next, Scope scope, object state, bool isCompleted) Microsoft.AspNetCoreInfraker.Rec throw(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.ResourceInv oker.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 調用者)Microsoft.AspNetCore.Routing.EndpointMiddleware.g__AwaitRequestTask|6_0(終結點終結點、任務請求任務、ILogger 記錄器)Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext 上下文)Microsoft.AspNetCore.Authentication.AuthenticationMiddleware。調用(HttpContext 上下文)Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddlewareImpl.Invoke(HttpContext 上下文)

我試圖在我的環境中重現相同的結果並得到以下結果:

我注冊了一個應用程序並授予API 權限,如下所示:

在此處輸入圖像描述

我克隆了相同的 GitHub 示例並更新appsettings.json文件,如下所示:

在此處輸入圖像描述

運行了上面的示例並得到了以下屏幕:

在此處輸入圖像描述

當我點擊“ Sign Up/In按鈕時,我遇到了與您類似的錯誤,如下所示:

在此處輸入圖像描述

請注意,您在appsettings.json文件中為域參數提供了錯誤的值 您需要更改可在此處找到的 Domain 參數的

在此處輸入圖像描述

解決該錯誤,我更改了我的 Domain 參數的值
appsettings.json文件如下:

在此處輸入圖像描述

當我現在通過運行示例單擊“ Sign Up/In按鈕時,我成功獲得了Google的登錄屏幕,如下所示:

在此處輸入圖像描述

參考: 使用 Azure Active Directory B2C 配置身份驗證 | 微軟

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM