Невозможно изменить профиль после введения OpenIdConnectEvents в приложении Azure B2 C Blazor Server - PullRequest
0 голосов
/ 03 апреля 2020

У меня есть Azure AD B2 C серверное приложение Blazor, которое отлично работает, включая SignIn / Singup и Profile Edit. Соответствующий код в Startup.cs выглядит следующим образом:

services.AddAuthentication(AzureADB2CDefaults.OpenIdScheme)
            .AddAzureADB2C(options => Configuration.Bind("AzureAdB2C", options));

Однако, когда я представляю приведенный ниже код для перехвата события OnTokenValidated, OnTokenValidated срабатывает, когда я нажимаю на SignIn; однако после входа в систему, когда я пытаюсь отредактировать профиль, я вижу, что OnTokenValidated все еще срабатывает, и страница пытается go перейти к / AzureADB2c / Account / EditProfile, но сразу возвращается на домашнюю страницу, не переходя на страницу редактирования профиля. Я подтвердил, что если я использую любой OpenIdEvent, даже без какого-либо тела, текущий пользователь не может редактировать профиль. Вот окончательный код в ConfigureServices, который имеет эту проблему:

services.AddAuthentication(AzureADB2CDefaults.OpenIdScheme)
            .AddAzureADB2C(options => Configuration.Bind("AzureAdB2C", options));

        //The code below causes Profile Editing to stop working. When logged in user clicks on 
        //Edit Profile link, there is a temporary redirect, but the user is sent back to home page, instead of Edit Profile page on Azure B2c site     
        services.Configure<OpenIdConnectOptions>(AzureADB2CDefaults.OpenIdScheme, options =>
        {
            options.Events = new OpenIdConnectEvents
            {
                OnTokenValidated = async ctx =>
                {

                }
            };
        });
...