/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the cognito-idp-2016-04-18.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.CognitoIdentityProvider.Model { /// /// Initiates the authentication response, as an administrator. /// public partial class AdminInitiateAuthResponse : AmazonWebServiceResponse { private AuthenticationResultType _authenticationResult; private ChallengeNameType _challengeName; private Dictionary _challengeParameters = new Dictionary(); private string _session; /// /// Gets and sets the property AuthenticationResult. /// /// The result of the authentication response. This is only returned if the caller doesn't /// need to pass another challenge. If the caller does need to pass another challenge /// before it gets tokens, ChallengeName, ChallengeParameters, /// and Session are returned. /// /// public AuthenticationResultType AuthenticationResult { get { return this._authenticationResult; } set { this._authenticationResult = value; } } // Check to see if AuthenticationResult property is set internal bool IsSetAuthenticationResult() { return this._authenticationResult != null; } /// /// Gets and sets the property ChallengeName. /// /// The name of the challenge that you're responding to with this call. This is returned /// in the AdminInitiateAuth response if you must pass another challenge. /// ///
  • /// /// MFA_SETUP: If MFA is required, users who don't have at least one of /// the MFA methods set up are presented with an MFA_SETUP challenge. The /// user must set up at least one MFA type to continue to authenticate. /// ///
  • /// /// SELECT_MFA_TYPE: Selects the MFA type. Valid MFA options are SMS_MFA /// for text SMS MFA, and SOFTWARE_TOKEN_MFA for time-based one-time password /// (TOTP) software token MFA. /// ///
  • /// /// SMS_MFA: Next challenge is to supply an SMS_MFA_CODE, delivered /// via SMS. /// ///
  • /// /// PASSWORD_VERIFIER: Next challenge is to supply PASSWORD_CLAIM_SIGNATURE, /// PASSWORD_CLAIM_SECRET_BLOCK, and TIMESTAMP after the client-side /// SRP calculations. /// ///
  • /// /// CUSTOM_CHALLENGE: This is returned if your custom authentication flow /// determines that the user should pass another challenge before tokens are issued. /// ///
  • /// /// DEVICE_SRP_AUTH: If device tracking was activated in your user pool /// and the previous challenges were passed, this challenge is returned so that Amazon /// Cognito can start tracking this device. /// ///
  • /// /// DEVICE_PASSWORD_VERIFIER: Similar to PASSWORD_VERIFIER, /// but for devices only. /// ///
  • /// /// ADMIN_NO_SRP_AUTH: This is returned if you must authenticate with USERNAME /// and PASSWORD directly. An app client must be enabled to use this flow. /// ///
  • /// /// NEW_PASSWORD_REQUIRED: For users who are required to change their passwords /// after successful first login. Respond to this challenge with NEW_PASSWORD /// and any required attributes that Amazon Cognito returned in the requiredAttributes /// parameter. You can also set values for attributes that aren't required by your user /// pool and that your app client can write. For more information, see AdminRespondToAuthChallenge. /// /// /// /// In a NEW_PASSWORD_REQUIRED challenge response, you can't modify a required /// attribute that already has a value. In AdminRespondToAuthChallenge, set /// a value for any keys that Amazon Cognito returned in the requiredAttributes /// parameter, then use the AdminUpdateUserAttributes API operation to modify /// the value of any additional attributes. /// ///
  • /// /// MFA_SETUP: For users who are required to set up an MFA factor before /// they can sign in. The MFA types activated for the user pool will be listed in the /// challenge parameters MFA_CAN_SETUP value. /// /// /// /// To set up software token MFA, use the session returned here from InitiateAuth /// as an input to AssociateSoftwareToken, and use the session returned by /// VerifySoftwareToken as an input to RespondToAuthChallenge /// with challenge name MFA_SETUP to complete sign-in. To set up SMS MFA, /// users will need help from an administrator to add a phone number to their account /// and then call InitiateAuth again to restart sign-in. /// ///
///
public ChallengeNameType ChallengeName { get { return this._challengeName; } set { this._challengeName = value; } } // Check to see if ChallengeName property is set internal bool IsSetChallengeName() { return this._challengeName != null; } /// /// Gets and sets the property ChallengeParameters. /// /// The challenge parameters. These are returned to you in the AdminInitiateAuth /// response if you must pass another challenge. The responses in this parameter should /// be used to compute inputs to the next call (AdminRespondToAuthChallenge). /// /// /// /// All challenges require USERNAME and SECRET_HASH (if applicable). /// /// /// /// The value of the USER_ID_FOR_SRP attribute is the user's actual username, /// not an alias (such as email address or phone number), even if you specified an alias /// in your call to AdminInitiateAuth. This happens because, in the AdminRespondToAuthChallenge /// API ChallengeResponses, the USERNAME attribute can't be /// an alias. /// /// public Dictionary ChallengeParameters { get { return this._challengeParameters; } set { this._challengeParameters = value; } } // Check to see if ChallengeParameters property is set internal bool IsSetChallengeParameters() { return this._challengeParameters != null && this._challengeParameters.Count > 0; } /// /// Gets and sets the property Session. /// /// The session that should be passed both ways in challenge-response calls to the service. /// If AdminInitiateAuth or AdminRespondToAuthChallenge API /// call determines that the caller must pass another challenge, they return a session /// with other challenge parameters. This session should be passed as it is to the next /// AdminRespondToAuthChallenge API call. /// /// [AWSProperty(Sensitive=true, Min=20, Max=2048)] public string Session { get { return this._session; } set { this._session = value; } } // Check to see if Session property is set internal bool IsSetSession() { return this._session != null; } } }