问题标签 [amazon-cognito]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Cognito / S3 用户特定策略
我正在使用适用于 Android 的 AWS 开发工具包和 Cognito 对用户(通过 Login With Amazon)进行身份验证,以访问我的 AWS 资源。我正在尝试做的是像这样设置一个 S3 存储桶:
因此,my-bucket
存储桶将具有基于用户电子邮件地址的文件夹。
我第一次设置政策是这样的:
作为测试,我正在尝试为这样的用户下载一个文件夹:
但是,当我运行它时,我得到一个“禁止”异常。如果我修改策略以显式引用first_user@email.com
而不是${www.amazon.com:user_id}
它工作正常。
问题
- 这甚至可以使用LWA用户的电子邮件地址来配置它吗?
- 有没有办法在我发出请求时记录实际发生的参数?
我见过这样的参考资料,但我不确定哪些是真正适用的。如果我在提出请求时能够以某种方式看到所遇到的值,那将是非常棒的。
提前致谢。
ios - 基于 Cognito ID 的 S3 文件夹访问的 IAM 策略
我创建了一个 IAM 策略以允许 Cognito 用户写入我的 S3 存储桶,但我想根据他们的 Cognito ID 将他们限制在文件夹中。我在这里按照亚马逊的说明创建了一个如下所示的策略:
但是,当我尝试使用 AWS iOS 开发工具包的 v2 上传时,我收到拒绝访问错误。
如果我修改资源的最后一个路径组件以替换为我从 SDK 获得${cognito-identity.amazonaws.com:sub}
的显式值,它就可以工作。identityId
AWSCognitoCredentialsProvider
我的理解是这些应该等同于同一件事。我是否遗漏了我的政策中的某些内容,或者我应该在我的上传请求中使用不同的路径?
**更新**
我最初在 iOS 中遇到了这个问题,所以今晚我尝试在 node.js 中做同样的事情,结果是相同的。这是我在节点中使用的简单代码:
我得到了与 iOS 相同的结果:除非我在 IAM 策略中提供明确的认知 ID,否则 API 会以 403 响应。
我已将我的 IAM 政策降至最低限度。这不起作用:
这样做:
我没有看到我在这里缺少什么......我能够找到的唯一文档总是显示我一直在使用的相同示例资源值。
node.js - 如何通过 API 使用 Cognito 令牌?
我已经使用 Google oAuth 成功登录到 iOS 应用程序,并且能够获得 Cognito 令牌和 ID。现在,我想调用一个 node.js API 来对 DynamoDB 执行一些操作。
什么以及如何传递给我的 API 调用?我可以在 API 方法本身中执行哪些身份验证和授权检查?
背景:我不想将底层存储的详细信息公开/泄露给用户,因此我不会使用 DynamoDB,例如,从应用程序本身内部。
mysql - 多设备间数据同步
有我的网站这是一个会计软件。现在我愿意在 android windows 和 ios 中为我的网站创建移动应用程序。
我想在所有设备上正确同步数据。
目前我正在使用 aws cognito 进行测试。但我对此有一些问题。
有没有其他东西可以完全满足我的要求。主要的是我不想在我的软件中开发同步逻辑我想使用任何提供这种设施的服务。
你可以通过这个链接找到我想要的 http://aws.amazon.com/cognito/
amazon-dynamodb - 我可以根据 Cognito ID 指定 AWS DynamoDB 策略吗?
我可以将策略应用于 AWS DynamoDB 表,但根据访问它的用户的 Cognito ID 对其进行限制吗?
例如,客户表的主哈希键等于 Cognito ID。当共享相同 ID 的用户以外的任何人试图获取该项目时,他们将收到未经授权的异常。
(非 DynanoDB 策略可能也有效。)
amazon-web-services - 如何在 asp.net rest api 中将 aws cognito 作为身份验证
如何在asp.net rest api中使aws cognito作为身份验证,即asp.net rest api将托管在IIS中,其身份验证应该来自aws cognito,如果可能,请给出?
android - 使用 Amazon Cognito 创建临时 AWSCredentials
在我的 Android 应用程序中,我想为 AWS 创建临时凭证,这样我就不必在我的应用程序中存储我的秘密 AWS 凭证。我使用此代码创建凭据:
当我这样尝试时,我的代码的最后一行出现错误,并带有 error "Not authorized to perform sts:AssumeRoleWithWeb Identity"
。我认为我用于myUnauthRole
和的策略存在问题myAuthRole
。它看起来像这样:
在政策范围内我还有什么需要做的吗?我无法在互联网上为我的用例找到一个工作示例。在这里得到一些支持会很棒。
谢谢!
ios7 - 将 STS 与 AWSS3TransferManagerUploadRequest 和 AWSS3TransferManagerDownloadRequest 集成
我们正在尝试在我们的 android 和 iOS 应用程序中实施 AWS Security Token Service。在后端,我们使用以下代码生成令牌:
然后通过单独的 Web 服务调用在 iOS 和 android 应用程序中获取生成的令牌。
在 android 中,我们使用以下代码来使用检索到的令牌:
问题是——
我们在适用于 iOS 的 AWS 移动 SDK 版本 2 中没有类似 android 的 API,我们可以使用它来使用检索到的令牌,也许在 iOS 中实现此功能的最佳方法是通过 AWSCognitoCredentialsProvider,但我们不确定。
请建议 - 在 iOS 中集成 AWS Security Token Service 的最佳方式是什么。
authentication - 我应该为 Web 和移动应用程序使用哪种 Google oAuth 2 应用程序类型?Cognito 会认出它们是一样的吗?
我想将 Google 的社交身份验证用于应用程序和网站。
使用Google 控制台,我有三种帐户类型可供选择:
- 服务
- 网络
- 已安装
Installed 为我提供了以下选项:
- 安卓
- 铬合金
- iOS
鉴于我支持 iOS 和 Android,我应该为每个创建凭据吗?
也在 AWS Cognito 中。如果我使用这些选项中的每一个的凭据,如果用户在所有平台上进行身份验证,它们最终是否会解析为相同的 Cognito ID?
authentication - 如何使用 Firebase 的电子邮件和密码身份验证方法连接 AWS 以使 Fine Uploader S3 工作?
我决定为我当前的 AngularJS 项目(连接到托管在 Firebase 上)使用 Fine Uploader,因为它具有许多核心功能,我需要在已经内置的上传器中使用这些功能,但是我无法理解如何使用Firebase 的电子邮件和密码与 AWS (Amazon Web Services) 通信的身份验证方法,以允许我的用户使用Fine Uploader S3上传内容。基于 Fine Uploader 博客文章Uploads without any server code,工作流程如下:
- 在身份提供者(例如 Google)的帮助下对您的用户进行身份验证
- 使用您的 ID 提供商提供的临时令牌从 AWS 获取临时访问密钥
- 将密钥传递给 Fine Uploader S3
- 您的用户现在可以上传到您的 S3 存储桶
问题是我不会使用 OAuth 2.0 (谷歌、Facebook 或亚马逊使用它来提供用户身份)来允许我的用户登录我的应用程序并上传内容。相反,我将使用 Firebase 的电子邮件和密码身份验证。
那么如何让 Firebase 的电子邮件和密码身份验证方法创建一个临时令牌以从 AWS 获取临时访问密钥并将这些密钥传递给 Fine Uploader S3 以允许我的用户将内容上传到 S3?