Проверка подлинности Azure B2C перенаправляется локально, но не при размещении в Azure. - PullRequest
0 голосов
/ 11 июня 2019

Я новичок в Azure AD B2C.Я пытаюсь настроить аутентификацию Azure B2C для приложения MVC.Логин отлично работает локально, но когда он не работает на сервере.Приложение размещено в Azure AD.Я не знаю, пропустил ли я что-то !!Может кто-нибудь помочь, пожалуйста?

private OpenIdConnectAuthenticationOptions CreateOptionsFromPolicy(string policy)
        {
            return new OpenIdConnectAuthenticationOptions
            {               
                // set the authentication type to the id of the policy
                MetadataAddress = metaDataAddress,
                AuthenticationType = policy,
                // These are standard OpenID Connect parameters, with values pulled from web.config
                ClientId = clientId,             
                //ClientSecret = clientSecret,
                RedirectUri = redirectUri,
                PostLogoutRedirectUri = redirectUri,
                Notifications = new OpenIdConnectAuthenticationNotifications
                {
                    AuthenticationFailed = AuthenticationFailed,
                },
                Scope = "openid",
                ResponseType = "id_token",

                //  used for displaying the user's name in the navigation bar.
                TokenValidationParameters = new TokenValidationParameters
                {
                    NameClaimType = "name",
                    RoleClaimType = "role",
                    SaveSigninToken = true 
                }
            };
        }

Когда он развернут на сервере, после входа в систему он не возвращается в приложение.Вместо этого страница, кажется, мигает, и между ними я вижу что-то, отображаемое как «Как часть процесса аутентификации, страница отображается несколько раз, пожалуйста, нажмите кнопку, чтобы продолжить» ..

1 Ответ

0 голосов
/ 26 июня 2019

Файл Startup.cs мне кажется вполне подходящим. Несколько вещей для перекрестной проверки:

  • redirectUri соответствует сайту
  • Вот мой метод регистрации и входа в систему:

public void SignIn()
            {
            if (!Request.IsAuthenticated)
            {
               
                HttpContext.GetOwinContext().Authentication.Challenge(
                    new AuthenticationProperties() { RedirectUri = "/" }, Startup.SignInPolicyId);
            }
        }
    
            public void SignUp()
            {
                if (!Request.IsAuthenticated)
                {
                    HttpContext.GetOwinContext().Authentication.Challenge(
                        new AuthenticationProperties() { RedirectUri = "/" }, Startup.SignUpPolicyId);
                }
            }


  

Я подписался на репозиторий github, и он работал для меня. Попробуйте это и посмотрите, работает ли оно

https://github.com/tjoudeh/Azure-Active-Directory-B2C/tree/master/AADB2C.WebClientMvc/Controllers

Справка:

http://bitoftech.net/2016/08/31/integrate-azure-ad-b2c-asp-net-mvc-web-app/

Пожалуйста, предоставьте подробную ошибку со всей базой кода, которую я попытаюсь воспроизвести на моем конце.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...