diff --git a/src/Amazon.Extensions.CognitoAuthentication/Amazon.Extensions.CognitoAuthentication.csproj b/src/Amazon.Extensions.CognitoAuthentication/Amazon.Extensions.CognitoAuthentication.csproj
index f1e431b..6f2fb18 100644
--- a/src/Amazon.Extensions.CognitoAuthentication/Amazon.Extensions.CognitoAuthentication.csproj
+++ b/src/Amazon.Extensions.CognitoAuthentication/Amazon.Extensions.CognitoAuthentication.csproj
@@ -28,7 +28,7 @@
false
false
true
- 2.5.4
+ 2.5.5
diff --git a/src/Amazon.Extensions.CognitoAuthentication/CognitoAuthenticationClasses.cs b/src/Amazon.Extensions.CognitoAuthentication/CognitoAuthenticationClasses.cs
index e6da3dc..01b0d82 100644
--- a/src/Amazon.Extensions.CognitoAuthentication/CognitoAuthenticationClasses.cs
+++ b/src/Amazon.Extensions.CognitoAuthentication/CognitoAuthenticationClasses.cs
@@ -68,6 +68,11 @@ public AuthFlowResponse(string sessionId, AuthenticationResultType authenticatio
/// applicable for custom authentication.
///
public IDictionary ClientMetadata { get; }
+
+ ///
+ /// The analytics metadata for collecting Amazon Pinpoint metrics.
+ ///
+ public AnalyticsMetadataType AnalyticsMetadata { get; set; }
}
///
@@ -94,7 +99,11 @@ public class InitiateSrpAuthRequest
///
/// The client metadata for the current authentication flow.
///
- public IDictionary ClientMetadata { get; set; }
+ public IDictionary ClientMetadata { get; set; }
+ ///
+ /// The analytics metadata for collecting Amazon Pinpoint metrics.
+ ///
+ public AnalyticsMetadataType AnalyticsMetadata { get; set; }
///
/// Enable custom auth flow
/// https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-authentication-flow.html#Using-SRP-password-verification-in-custom-authentication-flow
@@ -115,7 +124,12 @@ public class InitiateCustomAuthRequest
///
/// The client metadata for the current authentication flow.
///
- public IDictionary ClientMetadata { get; set; }
+ public IDictionary ClientMetadata { get; set; }
+
+ ///
+ /// The analytics metadata for collecting Amazon Pinpoint metrics.
+ ///
+ public AnalyticsMetadataType AnalyticsMetadata { get; set; }
}
///
@@ -194,6 +208,11 @@ public class RespondToCustomChallengeRequest
///
public IDictionary ClientMetadata { get; set; } = new Dictionary();
+ ///
+ /// The analytics metadata for collecting Amazon Pinpoint metrics.
+ ///
+ public AnalyticsMetadataType AnalyticsMetadata { get; set; }
+
///
/// The sessionID for the current authentication flow.
///
@@ -213,6 +232,11 @@ public class InitiateAdminNoSrpAuthRequest
///
/// Optional client metadata to provide in the Initiate Admin Authentication API call
///
- public IDictionary ClientMetadata { get; set; }
+ public IDictionary ClientMetadata { get; set; }
+
+ ///
+ /// Optional analytics metadata for collecting Amazon Pinpoint metrics.
+ ///
+ public AnalyticsMetadataType AnalyticsMetadata { get; set; }
}
}
diff --git a/src/Amazon.Extensions.CognitoAuthentication/CognitoUserAuthentication.cs b/src/Amazon.Extensions.CognitoAuthentication/CognitoUserAuthentication.cs
index 1b16a9e..e5b5bfc 100644
--- a/src/Amazon.Extensions.CognitoAuthentication/CognitoUserAuthentication.cs
+++ b/src/Amazon.Extensions.CognitoAuthentication/CognitoUserAuthentication.cs
@@ -68,6 +68,8 @@ public virtual async Task StartWithSrpAuthAsync(InitiateSrpAut
initiateRequest.ClientMetadata = new Dictionary(srpRequest.ClientMetadata);
}
+ initiateRequest.AnalyticsMetadata = srpRequest.AnalyticsMetadata;
+
if (srpRequest.IsCustomAuthFlow)
{
initiateRequest.AuthFlow = AuthFlowType.CUSTOM_AUTH;
@@ -84,6 +86,8 @@ public virtual async Task StartWithSrpAuthAsync(InitiateSrpAut
challengeRequest.ClientMetadata = new Dictionary(srpRequest.ClientMetadata);
}
+ challengeRequest.AnalyticsMetadata = srpRequest.AnalyticsMetadata;
+
bool challengeResponsesValid = challengeRequest != null && challengeRequest.ChallengeResponses != null;
bool deviceKeyValid = Device != null && !string.IsNullOrEmpty(Device.DeviceKey);
@@ -238,7 +242,8 @@ public virtual async Task StartWithCustomAuthAsync(InitiateCus
AuthFlow = AuthFlowType.CUSTOM_AUTH,
AuthParameters = new Dictionary(customRequest.AuthParameters),
ClientId = ClientID,
- ClientMetadata = new Dictionary(customRequest.ClientMetadata)
+ ClientMetadata = new Dictionary(customRequest.ClientMetadata),
+ AnalyticsMetadata = customRequest.AnalyticsMetadata
};
InitiateAuthResponse initiateResponse = await Provider.InitiateAuthAsync(authRequest, cancellationToken).ConfigureAwait(false);
@@ -283,6 +288,7 @@ public virtual async Task RespondToCustomAuthAsync(RespondToCu
ClientId = ClientID,
ChallengeResponses = new Dictionary(customRequest.ChallengeParameters),
ClientMetadata = new Dictionary(customRequest.ClientMetadata),
+ AnalyticsMetadata = customRequest.AnalyticsMetadata,
Session = customRequest.SessionID
};
@@ -730,7 +736,7 @@ private AdminInitiateAuthRequest CreateAdminAuthRequest(InitiateAdminNoSrpAuthRe
AuthParameters = new Dictionary()
{
{ CognitoConstants.ChlgParamUsername, Username },
- {CognitoConstants.ChlgParamPassword, adminRequest.Password }
+ { CognitoConstants.ChlgParamPassword, adminRequest.Password }
}
};
@@ -749,6 +755,8 @@ private AdminInitiateAuthRequest CreateAdminAuthRequest(InitiateAdminNoSrpAuthRe
returnRequest.ClientMetadata = new Dictionary(adminRequest.ClientMetadata);
}
+ returnRequest.AnalyticsMetadata = adminRequest.AnalyticsMetadata;
+
return returnRequest;
}