【发布时间】:2018-05-17 11:52:06
【问题描述】:
我正在尝试验证 AWS Cognito 服务以将图像上传到 S3 存储桶。我尝试关注“http://docs.aws.amazon.com/cognito/latest/developerguide/developer-authenticated-identities.html”,但我感到困惑。我想使用开发人员身份进行身份验证,因为我没有使用 Cognito 服务进行登录。 我用于身份验证的类如下:
import AWSCore
class DeveloperAuthenticatedIdentityProvider : AWSCognitoCredentialsProviderHelper {
override func token() -> AWSTask<NSString> {
//I have no clue what it returns and there also an error here
self.identityId = response.identityId
return AWSTask(result: response.token)
}
}
我使用的凭据如下:
let devAuth = DeveloperAuthenticatedIdentityProvider(regionType: .USWest2, identityPoolId: "pool-id", useEnhancedFlow: true, identityProviderManager:nil)
let credentialsProvider = AWSCognitoCredentialsProvider(regionType: .USWest2, identityProvider:devAuth)
let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider:credentialsProvider)
AWSServiceManager.default().defaultServiceConfiguration = configuration
我上传到 S3 如下:
let uploadRequest = AWSS3TransferManagerUploadRequest()
uploadRequest?.body = fileURL as URL
let awsImageName = "1002_" + UUID().uuidString
uploadRequest?.key = awsImageName + "." + ext
uploadRequest?.bucket = S3BucketName
uploadRequest?.contentType = "image/" + ext
let transferManager = AWSS3TransferManager.default()
// Perform Upload
transferManager.upload(uploadRequest!).continueWith(block: { (task:AWSTask<AnyObject>) -> AnyObject! in
无需身份验证即可正常工作,但我想将其与身份验证一起使用。有人能告诉我应该怎么做吗?我是 swift 和 AWS Cognito 服务的新手。
【问题讨论】:
标签: authentication amazon-s3 aws-cognito