私はS3バケットに画像をアップロードするためにAWS Cognitoサービスを認証しようとしています。 "http://docs.aws.amazon.com/cognito/latest/developerguide/developer-authenticated-identities.html"に追いつこうとしましたが、私は混乱しています。私は私のログインにCognitoサービスを使用しないImとして開発者のアイデンティティを使用して認証したいと思います。 認証に使用する私のクラスは以下の通りである:それは正常に動作しますAWS Cognito Developer認証されたIDと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
:以下のように
S3へ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
とIMのアップロード:
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)
}
}
私は以下のように私の資格情報を使用しています認証なしでは、私は認証でそれを使用します。私はどのようにすればいいのでしょうか?