Попытка изменить политики во время выполнения: IDX10501: Ошибка проверки подписи. Невозможно сопоставить ключи: малыш - PullRequest
0 голосов
/ 16 апреля 2020

Я хочу, чтобы пользователь решил, использовать ли стандартный вход в систему или использовать TOTP.

Моя настройка:

<add key="ida:SignUpSignInPolicyId" value="B2C_1_signupsignin_1" /> 
 <add key="ida:EditProfilePolicyId" value="B2C_1_profileediting1" />
 <add key="ida:ResetPasswordPolicyId" value="B2C_1_passwordreset1" />

В коде выполните следующие действия:

public void SignUpSignInTOTP(string redirectUrl)
{
    redirectUrl = redirectUrl ?? "/";
    HttpContext.GetOwinContext().Set("Policy", Globals.TOTPPasswordPolicyId);

    // Use the default policy to process the sign up / sign in flow
    HttpContext.GetOwinContext().Authentication.Challenge(new AuthenticationProperties { RedirectUri = redirectUrl });
    return;
}

, где как

public static string TOTPPasswordPolicyId = ConfigurationManager.AppSettings["ida:TOTPPasswordPolicyId"];

Если я установлю TOTPPasswordPolicyId в ida: SignUpSignInPolicyId, он будет работать нормально. Но если я изменю это во время выполнения, я получаю ошибку.

IDX10501: Ошибка проверки подписи. Невозможно сопоставить ключи: малыш

Я не понимаю, почему это происходит? Любые предложения?

B2C_1_signupsignin_1 - это поток пользователя, а B2C_1A_TOTP_signup_signin - настраиваемая политика. Может быть это может быть проблемой. Разве нельзя смешивать их?

С уважением, Стефан

...