Amazon Cognito
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

示例:利用 Lambda 触发器迁移 iOS 用户

示例:利用 Lambda 触发器迁移 iOS 用户。

示例:利用 Lambda 触发器迁移 iOS 用户。

在对您的 iOS 应用程序进行改动之前,请首先为用户池设置用户迁移 Lambda。

要了解有关 Lambda 触发器的更多信息,请参阅 使用 Lambda 触发器自定义用户池工作流

有关使用 Lambda 触发器迁移用户的更多信息,请参阅 利用用户迁移 Lambda 触发器将用户导入用户池

iOS 应用程序改动

  1. 更新您的 SDK

    将 AWSCognitoIdentityProvider iOS 开发工具包更新为版本 2.6.12 或更高版本。

  2. 启用迁移

    如果使用 Info.plist 配置您的用户池:

    添加布尔 MigrationEnabled 键,值为 YES。如果您针对 Info.plist 选择 Open As->Source Code,应与以下内容类似:

<key>AWS</key> <dict> <key>CognitoUserPool</key> <dict> <key>Default</key> <dict> <key>AppClientId</key> <string>YOUR_APP_CLIENT_ID</string> <key>PoolId</key> <string>region_YOUR_USER_POOL_ID </string> <key>Region</key> <string>us-west-2</string> <key>MigrationEnabled</key> <true/> </dict> </dict> </dict>

用户迁移身份验证流程

您可以对您的用户进行身份验证,并验证其密码的配置文件对您的早期系统和无缝迁移到您的用户池。但是,此服务需要旧密码,以避免密码重置。因此,如果在身份验证流程中显式启用,开发工具包通过加密 SSL 连接将文本形式的用户密码发送至服务。

如果使用 AWSCognitoIdentityUserPoolConfiguration 配置您的用户池,请更改为支持 migrationEnabled 标志的初始化程序。

Objective-CSwift
Objective-C
AWSCognitoIdentityUserPoolConfiguration * poolConfiguration = [[AWSCognitoIdentityUserPoolConfiguration alloc] initWithClientId:@"YOUR_APP_CLIENT_ID" clientSecret:@"YOUR_OPTIONAL_APP_CLIENT_SECRET" poolId:@"YOUR_USER_POOL_ID" shouldProvideCognitoValidationData:YES pinpointAppId:@"YOUR_OPTIONAL_PINPOINT_APP_ID" migrationEnabled:YES];
Swift
let poolConfiguration = AWSCognitoIdentityUserPoolConfiguration(clientId: "YOUR_APP_CLIENT_ID", clientSecret: "YOUR_OPTIONAL_APP_CLIENT_SECRET", poolId: "YOUR_USER_POOL_ID", shouldProviderCognitoValidationData: YES, pinpointAppId: "YOUR_OPTIONAL_PINPOINT_APP_ID", migrationEnabled: YES)