Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Http AWS API网关:如果响应未经授权,则添加标头_Http_Amazon Web Services_Oauth 2.0_Http Headers_Aws Api Gateway - Fatal编程技术网

Http AWS API网关:如果响应未经授权,则添加标头

Http AWS API网关:如果响应未经授权,则添加标头,http,amazon-web-services,oauth-2.0,http-headers,aws-api-gateway,Http,Amazon Web Services,Oauth 2.0,Http Headers,Aws Api Gateway,我在AWS中设置了一个API网关,它使用自定义授权程序来实现OAuth2流。它很好用。当用户未经授权时,他们会得到401授权响应。这也是正确的,但我想添加一个头,为客户机提供可以获取令牌的端点。类似于AuthorizeUrl:url 如何将此标题添加到响应中?在API网关控制台中,转到“方法响应”界面。您可以添加HTTP状态401。在“响应标题”中添加自定义的“授权URL”标题。然后在“集成响应”界面中,您可以为该标题添加所需的值 不幸的是,这是不可能的,但这是我们的积压工作。我知道当客户拿到4

我在AWS中设置了一个API网关,它使用自定义授权程序来实现OAuth2流。它很好用。当用户未经授权时,他们会得到401授权响应。这也是正确的,但我想添加一个头,为客户机提供可以获取令牌的端点。类似于
AuthorizeUrl:url


如何将此标题添加到响应中?

在API网关控制台中,转到“方法响应”界面。您可以添加HTTP状态401。在“响应标题”中添加自定义的“授权URL”标题。然后在“集成响应”界面中,您可以为该标题添加所需的值

不幸的是,这是不可能的,但这是我们的积压工作。我知道当客户拿到401时,这是没有意义的,但你不能告诉他们如何授权


我没有要提供的ETA,但我将在功能请求中添加+1。

AWS去年添加了此功能。

要手动执行此操作,请执行以下操作:

  • 转到API网关控制台中的“响应头”
  • 选择未授权(401)
  • 在“响应标题”下方添加授权url和url
  • 将API保存并部署到某个阶段
  • 要将其添加到Cloudformation中,请参考以下类似内容

    您还可以通过添加以下代码段(yaml)将其添加到swagger中:


    哦,我明白了。谢谢你的回答!我也试过了。但在我的例子中,它不起作用,因为“代理集成无法配置为转换响应”,所以集成响应是不可编辑的
    x-amazon-apigateway-gateway-responses:
      UNAUTHORIZED:
        statusCode: 401
        responseParameters:
          gatewayresponse.header.AuthorizeUrl:"url"
        responseTemplates:
          application/json: "{\"message\":$context.error.messageString}"