用于 Swift 身份验证的 AWS 开发工具包

问题描述 投票:0回答:1

我正在尝试新的适用于 Swift 的 AWS 开发工具包(开发者预览版),但不清楚如何使用 AWS 进行身份验证。

我可以将 AWS 访问密钥和密钥输入 Xcode,只要应用程序在 Xcode 中运行,身份验证就可以正常工作,但是当在 Xcode 外部的设备上运行时,它没有 AWS 访问密钥和密钥,因此无法使用。 t 通过 AWS 进行身份验证。

我还发现我可以使用以下代码将 AWS 访问密钥和密钥放入应用程序中:

let credentialIdentity = AWSCredentialIdentity(accessKey: “ACCESS_KEY, secret: “SECRET_KEY)
let credentialIdentityResolver = try StaticAWSCredentialIdentityResolver(credentialIdentity)
let lambdaClientConfiguration = try await LambdaClient.LambdaClientConfiguration(awsCredentialIdentityResolver: credentialIdentityResolver, region: "us-east-1")
let lambdaClient = LambdaClient(config: lambdaClientConfiguration)

这可行,但效果不佳,因为我不想在应用程序中拥有 AWS 访问权限和密钥。

通过 AWS SDK iOS,我使用了 Cognito 和以下代码:

let credentialsProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: “IDENTITY_POOL_ID”)
AWSServiceManager.default().defaultServiceConfiguration = AWSServiceConfiguration(region: .USEast1, credentialsProvider: credentialsProvider)

AWS SDK for Swift 似乎不支持 Cognito 身份验证,这篇文章 https://github.com/awslabs/aws-sdk-swift/issues/1082 表示他们不打算支持它。

所以,我的问题是如何使用适用于 Swift 的 AWS 开发工具包进行身份验证,而无需在应用程序中使用 AWS 访问权限和密钥?

swift amazon-web-services authentication
1个回答
0
投票

Cognito 已经支持; Cognito 凭证提供程序是一项不受支持的特定功能。它通过混合 Cognito 和 STS 功能来简化流程,使某些身份验证任务变得更加容易。但它实际上只是一个或两个特定 SDK 的功能,而不是标准 SDK 功能。

Cognito Identity 支持并且确实有效。示例代码即将推出。

© www.soinside.com 2019 - 2024. All rights reserved.