小编axe*_*ann的帖子

如何纯粹使用Cognito对用户进行S3身份验证

我已经阅读了这篇文章以及关于如何在API中使用Cognito令牌的AWS回复 以及如何使用AWS cognito和自定义身份验证来创建临时s3上传安全令牌

我还不清楚是否有一个更简单的解决方案来保护S3访问.

我有一个移动客户端和一个node.js后端.客户端使用后端进行身份验证,并接收jwt accessstoken以进一步调用我的后端.除了与我自己的后端进行通信之外,用户还应该可以上传和下载S3的文件.我正在寻找最简单的解决方案,以确保只有对我的后端有有效accessstoken的用户才能上传到S3.

我可以执行以下操作(这是基于此博客文章http://blog.backspace.academy/2015/03/using-cognito-with-nodejs-part-2.html):

  1. 客户端使用我的自定义node.js后端进行身份验证,并从我的后端接收自定义的accessstoken
  2. 我的node.js后端获取CognitoID AWS临时用户凭据.但是,AWS文档说我们还需要一个会话令牌(大概是通过调用CognitoSync),因此我假设我的需要获取会话令牌.
  3. 我的node.js后端将那些临时凭证和会话令牌传递给客户端
  4. 客户端使用它们通过AWS SDK传递凭证+会话令牌来调用S3.

我错过了什么吗?有更简单的方法吗?我假设没有办法让客户端通过我自己的自定义node.js用户访问AWS/S3/Cognito并让S3/Cognito通过调用我自己的node.js API验证令牌,该API可以验证此令牌.

amazon-s3 amazon-web-services node.js jwt amazon-cognito

10
推荐指数
1
解决办法
5038
查看次数

在vue.js应用中的哪里存储静态内容(例如国家代码)?

我试图找到解决此问题的最佳常规方法,但似乎在错误的地方。在vue.js应用程序中存储国家代码等内容(或任何其他静态内容,例如类别数组等)的最佳实践是什么?将其保存为我的.env文件作为环境变量将很尴尬,而且它实际上也不是另一个配置变量。

即使这是不可变的数据并且不会被用户或应用程序更改,我是否应该将其存储在Vuex中?还是应该只创建自己的js文件并将其导入到需要的地方?在AngularJS中,我只是将其作为一个函数放在HelperService中,仅此而已...

function getCountryArray() {
        var countries = {
              'AF': 'Afghanistan',
              'AX': 'Åland Islands',
              'AL': 'Albania',
              'DZ': 'Algeria',
              'AS': 'American Samoa',
              'AD': 'Andorra',
              'AO': 'Angola',
              'AI': 'Anguilla',
              'AQ': 'Antarctica',
              'AG': 'Antigua and Barbuda',
              'AR': 'Argentina'
...
Run Code Online (Sandbox Code Playgroud)

vue.js vuex

7
推荐指数
1
解决办法
2673
查看次数