Я хочу, чтобы пользователь решил, использовать ли стандартный вход в систему или использовать 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 - настраиваемая политика. Может быть это может быть проблемой. Разве нельзя смешивать их?
С уважением, Стефан