![](/img/trans.png)
[英]How to get a connection abort event from client side in an aws-lambda function that runs php script?
[英]Authenticating AWS Lambda Function to a PHP script
我有一个具有以下结构的 php webapp:
app
├── user
└── jobs
├─ task1.php
└─ task2.php
用户可以通过 Web 浏览器执行作业文件夹中的任务脚本。 为了保护这些脚本,在每个脚本中都实施了基于会话的身份验证。
为了自动执行这些任务,我们实施了一个 AWS Lambda 函数,该函数使用它们的 URL(即https://www.domaine.com/jobs/task1.php )通过 HTTP 调用这些脚本。
问题是这个 Lambda 函数也需要进行身份验证。 我想到的实现是使用 AWS 中的一些服务,它允许您生成一个 Token,如下所示:
有没有更好的方法来验证 Lambda 调用? 如果没有,有没有办法实现以前的机制?
验证(第 3 点)表明您不想使用 API 密钥,这将是保护任务调用的最简单方法。
另一种解决方案是将 JWT 与共享机密一起使用 - Lambda 是使用机密创建的 JWT 令牌,PHP 脚本 task*.php 将使用相同的机密验证该令牌。 它不需要回程来验证 Lambda 的令牌。
编辑:根据您对要求的解释...
如果 PHP 不想知道可以验证令牌的秘密,自然会调用(建议单独)共享(通过 ENV 变量)秘密的 Lambda,该秘密用于创建 JWT 令牌并且能够验证( Yes/Nea) 使用标准 JWT 库。
就像您看到的那样,它比 PHP 共享密钥创建了更多的复杂性。
但是,如果您不想管理任何秘密(在 PHP 和/或 Lambda 中)传递不可验证的令牌,这似乎毫无意义(只是拥有令牌艺术的艺术)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.