Xamarin Azure AD B2C登录,停留在登录页面上

问题描述 投票:0回答:1

我正在尝试使用AAD B2C身份验证登录到xamarin移动应用程序。我已经在Visual Studio中创建了解决方案。在Azure中,我创建了我的租户,注册了本机应用程序和Web应用程序(下面的属性),并尝试调试我的应用程序。目前,我已重定向到B2Clogin页面,可以输入用户名和密码。然后,它处理该请求并无限期停留在该页面上。当我检查azure门户时,可以看到通过B2C登录页面创建的帐户,并且可以看到成功登录,但是B2C登录页面没有重定向回我的应用程序。我还在AppDelegate.cs和MainActivity.cs中使用AuthenticationContinuationHelper

在App.cs中

````
     public static string B2CClientEndpoint = "<UserFlowAuthorizationEndpoint>"; //the endpoint generated when we ran the user flow.
            public static string[] B2CScopes = { "<RegisteredWebAPI.Read>" };

       PCAB2C = PublicClientApplicationBuilder.Create(B2CClientID)
                    .WithB2CAuthority("https://<DirectoryName>.b2clogin.com/tfp/<DirectoryName>.onmicrosoft.com/<Policy>")
                    .WithIosKeychainSecurityGroup("<SecurityGroup>")
                    .WithRedirectUri("msal<ApplicationID>://auth")
                    .Build();

````

在控制器类中

````C#

     IAccount User = Accounts.FirstOrDefault();
                    if (Accounts.Count() != 0)
                    {
                        Result = await App.PCAB2C.AcquireTokenSilent(App.B2CScopes, User)
                       .WithB2CAuthority("<B2CSignInAuthority>")
                       .ExecuteAsync();
                    }
                    else
                    {
                        User = Accounts.FirstOrDefault();
                        Result = await App.PCAB2C.AcquireTokenInteractive(App.B2CScopes)
                            .WithB2CAuthority("<B2CSignInAuthority>")
                            .WithParentActivityOrWindow(App.ParentWindow)
                            .WithAccount(User)
                            .ExecuteAsync();
                    }

```
c# azure xamarin azure-ad-b2c
1个回答
0
投票

根据AD B2C的official documentation,>

要在隐藏的iframe中刷新并获取令牌,请使用提示符= none以确保iframe不会卡在登录页面上并立即返回。

因此,本质上,请验证您的URL,不要忘记查看Error响应!

© www.soinside.com 2019 - 2024. All rights reserved.