protected async void Button3_Click(object sender, EventArgs e) { //initialize sdk client and user var sdkClient = new OktaClient(new OktaClientConfiguration { OktaDomain = ConfigurationManager.AppSettings["OktaDomain"].ToString(), Token = ConfigurationManager.AppSettings["ApiKey"].ToString(), }); var user = await sdkClient.Users.GetUserAsync(userParam); //get email factor id var emailFactor = await user.Factors.FirstOrDefaultAsync(x => x.FactorType == FactorType.Email); //ask user for otp var factorRequest = new ActivateFactorRequest() { PassCode = TextBox2.Text, }; //verify otp var factorResponse = await sdkClient.UserFactors.ActivateFactorAsync(factorRequest, user.Id, emailFactor.Id); if (factorResponse.Status == "ACTIVE") { Response.Redirect("WebForm2.aspx" + "?email=" + TextBox1.Text); } else { Label1.Text = factorResponse.Status; } }
private async Task <IAuthenticationResponse> ActivateFactorAsync(ActivateFactorRequest activateFactorRequest, string factorId, CancellationToken cancellationToken = default) { return(await PostAsync <AuthenticationResponse>( new HttpRequest { Uri = $"/api/v1/authn/factors/{factorId}/lifecycle/activate", Payload = activateFactorRequest, }, cancellationToken).ConfigureAwait(false)); }
/// <inheritdoc/> public async Task <IAuthenticationResponse> ActivateFactorAsync(ActivateFactorOptions activateFactorOptions, CancellationToken cancellationToken = default) { var activateFactorRequest = new ActivateFactorRequest() { StateToken = activateFactorOptions.StateToken, PassCode = activateFactorOptions.PassCode, }; return(await ActivateFactorAsync(activateFactorRequest, activateFactorOptions.FactorId, cancellationToken)); }
/// <inheritdoc/> public async Task <IAuthenticationResponse> ActivateFactorAsync(ActivatePushFactorOptions activatePushFactorOptions, CancellationToken cancellationToken = default) { var activateFactorRequest = new ActivateFactorRequest() { StateToken = activatePushFactorOptions.StateToken, }; return(await PostAsync <AuthenticationResponse>( new HttpRequest { Uri = $"/api/v1/authn/factors/{activatePushFactorOptions.FactorId}/lifecycle/activate", Payload = activateFactorRequest, }, cancellationToken).ConfigureAwait(false)); }