Пример #1
0
        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;
            }
        }
Пример #2
0
 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));
 }
Пример #3
0
        /// <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));
        }
Пример #4
0
        /// <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));
        }