【问题标题】:AWS Cognito Developer Authenticated Identities and Upload to S3AWS Cognito 开发人员经过身份验证的身份并上传到 S3
【发布时间】: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


    【解决方案1】:

    我认为您正在使用 IAM 转换认知。 Cognito 用作您自己的应用程序或移动应用程序的身份提供者。它是一个云身份提供商,您可以将其用作服务。您可以允许其他用户在您自己的 UI 中注册,并将其与 Facebook、Google、...

    IAM 用于识别谁可以使用这些云服务,例如 Cognito、S3、EC2。使用s3等需要哪些角色。

    它无需身份验证即可工作的原因可能是您安装了存储此 IAM 信息的 AWS 开发工具包或 cli。您的应用程序会将其用作后备。

    看看 IAM,创建一个可以访问 S3 的开发人员角色并担任该角色。获取您帐户的密钥和访问密钥,您现在可以忘记 Cognito ?

    更多信息:

    http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html

    http://docs.aws.amazon.com/cli/latest/userguide/cli-roles.html

    【讨论】:

      猜你喜欢
      • 2014-12-05
      • 2016-06-29
      • 2015-05-10
      • 1970-01-01
      • 1970-01-01
      • 2015-10-04
      • 2015-04-15
      • 2015-10-12
      • 2016-01-17
      相关资源
      最近更新 更多