使用nodejs和crypto,现在,当用户登录时,我生成一个随机身份验证令牌:
var token = crypto.randomBytes(16).toString('hex');
Run Code Online (Sandbox Code Playgroud)
我知道这不太可能,但两个令牌的可能性很小.
这意味着用户理论上可以在另一个帐户上进行身份验证.
现在,我看到两个明显的方法来传递这个:
你会怎么做?
在我们的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上传的文件持续时间
当将 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)
有什么帮助吗?
我正在使用 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 …
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) 在我们的AWS基础架构中,我们使用AWS Organizations,这是一种集中用户帐户并让他们在我们公司的其他AWS账户中担任角色的方法.这允许我们隔离每个环境,同时允许只有一个帐户,您可以使用它来处理其他帐户中的资源,而无需4-5个密码.
问题出现在S3存储桶上,因为我们有一些用户正在使用Cyberduck来访问s3存储桶中的文件.不幸的是,Cyberduck不支持AWS STS assumeRole(参考cyberduck文档),它会强制您设置访问密钥ID和密钥,以便访问该特定帐户的s3存储桶.
你知道任何支持assumeRole的MAC的S3 GUI客户端吗?
我有一个移动应用程序,想使用 AWS Cognito 池进行用户管理(注册和登录)。我想为用户提供以下 3 个选项来登录我的应用程序
在注册过程中,用户将设置用户名、密码并添加经过验证的电话号码,并且可以选择将他们的谷歌连接添加到他们的个人资料中。
如何为这种场景设置 Cognito 池,用户可以选择上述 3 个选项中的任何一个来登录应用程序?
我目前正在使用我工作的公司现场托管的虚拟机。虚拟机非常慢,我们正在考虑对此采取一些措施。选择是让人们脱离虚拟机并使用物理硬件、升级我们的虚拟机主机或可能迁移到 Amazon Workspaces。
我们在当前主机上遇到的挑战之一是,我们在工作空间上运行 Docker 时遇到了嵌套虚拟化的问题。
显然,如果我们转向物理硬件,就不会遇到嵌套虚拟化的问题。如果我们将当前的硬件升级得更快/更好,我们可能无法解决嵌套虚拟化的根本问题。
如果 Amazon Workspaces 支持 Windows 10 以及允许嵌套虚拟化的 Docker for Windows,那就太理想了。
这里有人在 Windows 上使用 AWS 工作区吗?你使用 Docker 吗?还有其他替代方案(AWS 工作区除外)可用于在 Windows VM 上运行 Docker?
我的 Beanstalk 环境带有使用“CPUUtilization”的“缩放触发器”,并且运行良好。
问题是我无法将其与自动重启(或终止)在一定时间内被视为“服务中断”的实例的系统结合使用。
在“Scaling > Scaling Trigger > Trigger measure”中有“UnHealthyHostCount”选项。但这不会以最佳方式解决我的问题,因为只要有一个不健康的实例,它就会创建新的实例,这将促使我的环境在没有真正原因的情况下增长到极限。另外,我不能组合 2 个“触发测量”,我需要一个 CPU。
当环境中只有一个实例时,问题就变得至关重要,它变成了 OutOfService。整个环境都消失了,触发器测量永远不会被触发。
amazon-web-services amazon-elastic-beanstalk elastic-load-balancer
我们目前有使用 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 地址用于不同的容器?
amazon-s3 ×3
docker ×2
node.js ×2
amazon-ec2 ×1
angular ×1
aws-cognito ×1
cloud ×1
cryptojs ×1
cyberduck ×1
duration ×1
javascript ×1
jwt ×1
macos ×1
video ×1
windows ×1