小编Rez*_*avi的帖子

在NodeJS,Crypto Token身份验证环境中生成唯一令牌

使用nodejs和crypto,现在,当用户登录时,我生成一个随机身份验证令牌:

var token = crypto.randomBytes(16).toString('hex');
Run Code Online (Sandbox Code Playgroud)

我知道这不太可能,但两个令牌的可能性很小.

这意味着用户理论上可以在另一个帐户上进行身份验证.

现在,我看到两个明显的方法来传递这个:

  • 当我生成令牌时,查询用户的数据库并查看是否已存在具有相同值的令牌.如果是的话,只需生成另一个.如您所见,这是不完美的,因为我正在向数据库添加查询.
  • 由于每个用户在我的数据库中都有唯一的用户名,因此我可以
    使用用户名作为秘密生成器密钥生成随机令牌.这样,两个令牌就没有办法具有相同的价值.可以加密吗?它安全吗?

你会怎么做?

node.js cryptojs

8
推荐指数
1
解决办法
4900
查看次数

Rails将视频或音频文件的持续时间上传到AMAZON S3

在我们的rails应用程序中,我们将mp3/mp4文件直接上传到s3.我们需要找到视频/音频的持续时间并将其存储在桌面上.我试过mp4info宝石

require 'taglib'
require 'mp4info'

file = "livetouch-test.mp4"
info = MP4Info.open(file)
p info.SECS
Run Code Online (Sandbox Code Playgroud)

这提供了视频长度,但是这个期待的视频应该存储在本地.在rails app上,视频/音频仅在s3上提供.任何人都知道如何在RoR上获得s3上传的文件持续时间

video duration amazon-s3 ruby-on-rails-4

8
推荐指数
1
解决办法
956
查看次数

未找到 AmazonServiceException 类

当将 java 类路径设置为“aws-java-sdk-1.10.49.jar”时,我正在使用 AWS SDK 将文件上传到 S3 存储桶,该程序运行良好,但是当将 jar 文件替换为更高版本的“aws-java-sdk”时-1.11.35.jar”,出现异常“AmazonServiceException 类未找到,如下所示。”

线程“main”中的异常 java.lang.NoClassDefFoundError: com/amazonaws/AmazonServiceException at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) at java.lang.Class .privateGetMethodRecursive(Class.java:3048) at java.lang.Class.getMethod0(Class.java:3018) at java.lang.Class.getMethod(Class.java:1784) at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper. java:544) at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526) 由:java.lang.ClassNotFoundException: com.amazonaws.AmazonServiceException at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java .lang.ClassLoader.loadClass(ClassLoader.java:424) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:357)

有什么帮助吗?

amazon-s3 amazon-web-services

8
推荐指数
1
解决办法
7059
查看次数

如何使用 JWT 刷新令牌生成新的访问令牌

我正在使用 Node.js 和 Express 来处理 JWT 身份验证。首先,每次创建和验证用户时,我都会存储一个refresh token内部User集合:

const refreshToken = await jwt.sign({ userId: decoded.user }, process.env.JWT_Refresh_Key);
const user = await User.updateOne({ _id: mongoose.Types.ObjectId(decoded.user) }, { refresh_token: refreshToken, status: true });
Run Code Online (Sandbox Code Playgroud)

成功登录后生成 JWT 访问令牌(15 分钟后过期):

const token = await jwt.sign(
                { email: user.email, userId: user._id, role: user.role },
                process.env.JWT_Key,
                { expiresIn: '15m' });
res.status(200).json({success: true, token: token});
Run Code Online (Sandbox Code Playgroud)

然后access token存储在localStorage由 Angular Http Interceptor 和 auth 方法处理。15分钟后,token处理请求将无效,所以我需要使用refresh token存储在数据库中的。

正在调用刷新方法AuthService.ts …

javascript node.js jwt angular

8
推荐指数
1
解决办法
1万
查看次数

必须至少定义一个资源成员...云形成错误 ec2

I tried other templates from the net but still getting the same error. Error
Run Code Online (Sandbox Code Playgroud)

消息:模板包含错误。:模板格式错误:必须至少定义一个资源成员。

{
"AWSTemplateFormatVersion" : "2010-09-09",

"Description" : "TTND AWS CloudFormation template to launch first instance",

"Parameters" : {

"KeyName" : {
"Description" : "EC2 Key Pair for SSH Access",
"Default" : "sample",
"MinLength": "1",
"MaxLength": "64",
"AllowedPattern" : "[-_ a-zA-Z0-9]*",
"ConstraintDescription" : "can contain only alphanumeric characters, spaces, dashes and underscores."
},
"InstanceType" : {
"Description" : "Instance1 EC2 instance type",
"Type" : "String",
"Default" : …
Run Code Online (Sandbox Code Playgroud)

cloud amazon-ec2 amazon-web-services aws-cloudformation

8
推荐指数
1
解决办法
2万
查看次数

适用于OS X的Amazon S3 GUI客户端,允许AWS STS承担角色

在我们的AWS基础架构中,我们使用AWS Organizations,这是一种集中用户帐户并让他们在我们公司的其他AWS账户中担任角色的方法.这允许我们隔离每个环境,同时允许只有一个帐户,您可以使用它来处理其他帐户中的资源,而无需4-5个密码.

问题出现在S3存储桶上,因为我们有一些用户正在使用Cyber​​duck来访问s3存储桶中的文件.不幸的是,Cyber​​duck不支持AWS STS assumeRole(参考cyberduck文档),它会强制您设置访问密钥ID和密钥,以便访问该特定帐户的s3存储桶.

你知道任何支持assumeRole的MAC的S3 GUI客户端吗?

macos amazon-s3 amazon-web-services cloud-storage cyberduck

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

具有多个登录选项的 aws 认知池

我有一个移动应用程序,想使用 AWS Cognito 池进行用户管理(注册和登录)。我想为用户提供以下 3 个选项来登录我的应用程序

  1. 用户名密码
  2. 带有 OTP 登录的电话号码 - 在登录屏幕上,用户输入他的电话号码,Cognito 应发送 OTP 代码,并在验证时允许登录
  3. 谷歌连接登录

在注册过程中,用户将设置用户名、密码并添加经过验证的电话号码,并且可以选择将他们的谷歌连接添加到他们的个人资料中。

如何为这种场景设置 Cognito 池,用户可以选择上述 3 个选项中的任何一个来登录应用程序?

amazon-web-services aws-cognito

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

Amazon Workspaces 是否支持适用于 Windows 的 Docker?

我目前正在使用我工作的公司现场托管的虚拟机。虚拟机非常慢,我们正在考虑对此采取一些措施。选择是让人们脱离虚拟机并使用物理硬件、升级我们的虚拟机主机或可能迁移到 Amazon Workspaces。

我们在当前主机上遇到的挑战之一是,我们在工作空间上运行 Docker 时遇到了嵌套虚拟化的问题。

显然,如果我们转向物理硬件,就不会遇到嵌套虚拟化的问题。如果我们将当前的硬件升级得更快/更好,我们可能无法解决嵌套虚拟化的根本问题。

如果 Amazon Workspaces 支持 Windows 10 以及允许嵌套虚拟化的 Docker for Windows,那就太理想了。

这里有人在 Windows 上使用 AWS 工作区吗?你使用 Docker 吗?还有其他替代方案(AWS 工作区除外)可用于在 Windows VM 上运行 Docker?

windows amazon-web-services docker amazon-workspaces

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

AWS Beanstalk,如何自动重启(或终止)没有响应的实例

我的 Beanstalk 环境带有使用“CPUUtilization”“缩放触发器,并且运行良好。

问题是我无法将其与自动重启(或终止)在一定时间内被视为“服务中断”的实例的系统结合使用。

“Scaling > Scaling Trigger > Trigger measure”中“UnHealthyHostCount”选项。但这不会以最佳方式解决我的问题,因为只要有一个不健康的实例,它就会创建新的实例,这将促使我的环境在没有真正原因的情况下增长到极限。另外,我不能组合 2 个“触发测量”,我需要一个 CPU。

当环境中只有一个实例时,问题就变得至关重要,它变成了 OutOfService。整个环境都消失了,触发器测量永远不会被触发。

amazon-web-services amazon-elastic-beanstalk elastic-load-balancer

6
推荐指数
2
解决办法
4842
查看次数

docker-compose 可以在具有离散端口的服务之间共享 ip 吗?

我们目前有使用 supervisord 构建复杂构建的 docker 容器,以便我们可以将服务组合在一起。例如,nginx 和 ssh。

我正在尝试使用由共享卷链接的更多服务驱动隔离来重建这些。但是,如果不将 IP 映射到主机,即使端口可能是离散的,我似乎也找不到允许共享 IP 地址的方法。

我想要做的是这样的:

version: '2'
services:
  web:
    image: nginx
    volumes:
    - /data/web:/var/www
    networks:
      public:
        ipv4_address: 10.0.0.1
    ports:
    - "10.0.0.1:80:80"
  ssh:
    image: alpine-sshd
    volumes:
    - /data/web:/var/www
    networks:
      public:
        ipv4_address: 10.0.0.1
    ports:
    - "10.0.0.1:22:22"
networks:
  public:
    external: true
Run Code Online (Sandbox Code Playgroud)

...public预定义的 docker macvlan 网络在哪里。

当我尝试这个时,我收到错误:

ERROR: for ssh  Cannot start service ssh: Address already in use
Run Code Online (Sandbox Code Playgroud)

我知道另一个解决方案是引入第三个服务作为代理。但是,我认为这将是一个足够简单的案例,不需要它。

是否可以将 docker-compose/docker-networking 配置为通过端口路由以允许相同的 IP 地址用于不同的容器?

docker docker-compose docker-networking

6
推荐指数
1
解决办法
3420
查看次数