/*
* 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;
}
}
}