我正在使用具有Lambda函数的API网关的新功能来使用自定义授权程序(https://docs.aws.amazon.com/apigateway/latest/developerguide/use-custom-authorizer.html).
授权程序使用JWT标记来验证当前用户上下文和范围的标记.一切正常,但有一个关于AWS策略的概念我无法从文档中找到.
Custom Authorizer函数的输出必须是包含两件事的对象:
principalId- 有问题policyDocument - 带有语句的有效Policy文档,允许用户授权访问Lambda资源,阶段等.现在,Custom Authorizers的示例当前显示principalId变量的几乎任意值.但如果我正确思考,这principalId对每个用户来说应该是唯一的吗?并且可能具有与其关联的用户特定唯一值(例如token.userId或token.email).
如果这是真的,那么我下面提供的代码,如果JWT令牌是不是有效的,那么我没有访问userId或email,并没有什么线索设置principalId来.我暂时将它设置为user仅为Deny策略返回一些内容以确保响应403 Forbidden.
任何人都有设置的最佳做法任何线索principalId的自定义授权人?
var jwt = require('jsonwebtoken');
var JWT_SECRET = 'My$ecret!';
/**
* Implicit AWS API Gateway Custom Authorizer. Validates the JWT token passed
* into the Authorization header for all requests.
* @param {Object} …Run Code Online (Sandbox Code Playgroud) 我试图从透明的PNG文件到透明的EPS进行简单的转换,目前我的命令如下所示:
转换"image1.png""image1.eps"
看起来我得到的只是一张黑色图像.有任何想法吗?
谢谢!
我需要能够列出根文件夹中不包含包含字符串的文件的所有目录merged。因此,例如,如果我从目录运行脚本C:\out,我将获得C:\out其中与通配符不匹配的所有文件夹的列表merged。
例子:
树:
-c:\out
--c:\out\test123
---sample.meta
---sample_merged.meta
--c:\out\test456
---sample.meta
---sample_merged.meta
--c:\out\test789
---sample.meta
--c:\out\test013
---sample.meta
Run Code Online (Sandbox Code Playgroud)
输出:
test789
test013
Run Code Online (Sandbox Code Playgroud) aws-lambda ×1
eps ×1
filesystems ×1
imagemagick ×1
jwt ×1
png ×1
powershell ×1
transparency ×1
wildcard ×1