AWS SQS and DocuSign Connect - "Queue receive error: The security token included in the request is invalid."

AWS SQS and DocuSign Connect - "Queue receive error: The security token included in the request is invalid."

我正在尝试使用适用于 AWS 的 DocuSign Connect Worker 将 AWS SQS 与 DocuSign Connect 连接起来。

https://github.com/docusign/connect-csharp-worker-aws

我按照 repo 的 README.md 一步步设置了 AWS Lambda 和 API 网关,收到了 Lambda 的成功响应。但是,当我 运行 工作人员时,我收到此错误消息:

3/19/2021 12:42:17 AM Starting queue worker
3/19/2021 12:42:17 AM Awaiting a message...
3/19/2021 12:42:18 AM Queue receive error:
The security token included in the request is invalid.

我怀疑我出错的部分是下面的 App.config 文件。出于安全原因,我不共享配置文件中的值。但是 AWS_ACCOUNT 和 AWS_SECRET 值应该是多少(它是 AWS 根账户 ID 号及其根密钥还是只是 IAM 用户名及其密钥?)以及为什么它们出现两次代码?是因为必须在 JWT OAuth 身份验证流程之后提供两次吗?自述文件中是否缺少将 DocuSign 密钥对的 public 密钥添加到 AWS IAM 用户或帐户级别的步骤?

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <!-- Your data -->
    <add key="DS_CLIENT_ID" value="{DS_CLIENT_ID}" />
    <add key="DS_IMPERSONATED_USER_GUID" value="{DS_IMPERSONATED_USER_GUI}" />
    <add key="AWS_ACCOUNT" value="{AWS_ACCOUNT}" />
    <add key="AWS_SECRET" value="{AWS_SECRET}" />
    <add key="BASIC_AUTH_NAME" value="{BASIC_AUTH_NAME}" />
    <add key="BASIC_AUTH_PW" value="{BASIC_AUTH_PW}" />
    <add key="QUEUE_URL" value="{QUEUE_URL}" />
    <add key="AWS_ACCOUNT" value="{AWS_ACCOUNT}" />
    <add key="AWS_SECRET" value="{AWS_SECRET}" />
    <add key="DS_PRIVATE_KEY" value="-----BEGIN RSA PRIVATE KEY-----&#xA;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&#xA;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&#xA;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&#xA;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXR8q+ReuJAoIBA/omKBC10Fi8ez&#xA;
...
XXXXXXXXXXXXXXXXXXXXXXXAAshxKUsvW7Kf8a60BoVMi32qyGrK&#xA;
-----END RSA PRIVATE KEY-----&#xA;" />
    <!-- Used for testing -->
    <add key="DS_CC_1_EMAIL" value="{DS_CC_1_EMAIL}" />
    <add key="DS_CC_1_NAME" value="{DS_CC_1_NAME}" />
    <add key="DS_SIGNER_1_EMAIL" value="{DS_SIGNER_1_EMAIL}" />
    <add key="DS_SIGNER_1_NAME" value="{DS_SIGNER_1_NAME}" />
    <add key="ENABLE_BREAK_TEST" value="true" />
    <add key="TEST_OUTPUT_DIR_NAME" value="test_messages" />
    <add key="ENQUEUE_URL" value="{ENQUEUE_URL}" />
    <!-- Default data -->
    <add key="DS_TARGET_ACCOUNT_ID" value="FALSE" />
    <add key="DS_AUTH_SERVER" value="https://account-d.docusign.com"/>
    <add key="DEBUG" value="true" />
    <add key="ENVELOPE_CUSTOM_FIELD" value="Sales order" />
    <add key="OUTPUT_FILE_PREFIX" value="order_" />
  </appSettings>
</configuration>

如果您查看以下示例应用程序,我认为它可能会有所帮助:https://github.com/docusign/connect-node-worker-aws

阅读 readme.md 您将在第 2 步和第 3 步中看到以下内容:

  1. 使用 AWS IAM,创建一个可以访问您的 SQS 队列的 IAM 用户。记录 IAM 用户的 AWS Access Key 和 Secret。

  2. 使用 IAM 用户凭证配置环境变量 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY。

您可以在此处找到此工作程序示例的补充侦听器代码:https://github.com/docusign/connect-node-listener-aws