Amazon web services Cognito Authorizer中API网关中的{“消息”:“未经授权”}

Amazon web services Cognito Authorizer中API网关中的{“消息”:“未经授权”},amazon-web-services,aws-api-gateway,amazon-cognito,Amazon Web Services,Aws Api Gateway,Amazon Cognito,当我将cognito authorizer添加到API网关中定义的API时,我得到了{“message”:“Unauthorized”}错误。 我做了以下工作: 配置了Cognito授权程序 在API方法中添加了授权人 部署了API 当我点击API url时。我得到了{“message”:“Unauthorized”}错误。 我缺少什么吗?对于Cognito IAM角色,必须缺少执行API权限 分配权限的IAM策略示例: { "Version": "2012-10-17", "S

当我将cognito authorizer添加到API网关中定义的API时,我得到了{“message”:“Unauthorized”}错误。 我做了以下工作:

  • 配置了Cognito授权程序
  • 在API方法中添加了授权人
  • 部署了API
  • 当我点击API url时。我得到了{“message”:“Unauthorized”}错误。
    我缺少什么吗?

    对于Cognito IAM角色,必须缺少执行API权限

    分配权限的IAM策略示例:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "execute-api:Invoke" ], "Resource": [ "arn:aws:execute-api:*:*:{{APIGateway_API_ID}}/*" ] } ] } { “版本”:“2012-10-17”, “声明”:[ { “效果”:“允许”, “行动”:[ “执行api:调用” ], “资源”:[ “arn:aws:执行api:::{{APIGateway\U api\U ID}/*” ] } ] }
    在向受保护的API端点发送请求之前,是否确实进行了身份验证?取决于授权者的实现方式。您可以通过AWS web控制台进行测试,检查您发送的令牌是否有效。您正在使用哪个令牌<代码>访问令牌或
    id\u令牌
    ?如果您使用的是
    access\u令牌
    ,则根据
    用户池客户端
    的配置方式,您可能需要添加/定义作用域如果您的api网关资源没有OAuth作用域,授权人正在等待
    id\u令牌
    。基于
    Cognito用户池
    的身份验证不需要上述内容。如果您在
    APIGateway
    上使用
    AWS_IAM
    进行身份验证,就会出现这种情况。如果不用于身份验证,您将如何在API Gateway中使用Cognito?它用于身份验证。只是在您也开始使用身份池之前,
    IAM角色
    是不必要的<代码>“如果为Amazon Cognito用户池中的组设置角色,则这些角色将通过用户的ID令牌传递。要使用这些角色,还必须为标识池的已验证角色选择设置Choose role from令牌。”