从 API 网关自定义授权方返回的 401 缺少“Access-Control-Allow-Origin”标头

2024-05-17

为了防止未登录的用户通过 AWS API Gateway 调用我的 lambda 函数,我使用自定义授权者 lambda 解决方案。

如果请求被授权(200)并且我从被调用的 lambda 得到响应,一切正常并且我得到Access-Control-Allow-Origin header.

但如果请求未经授权,我会收到 401,其中没有Access-Control-Allow-Origin头,因此阻止我读取响应的 401 状态并将用户重定向到登录页面。

我相信这是因为自定义授权机制不知道请求需要使用 CORS。有谁知道这实际上是问题所在?您知道任何可能的解决方案吗?


我很高兴宣布推出新的网关响应功能,该功能允许您为不调用集成的请求自定义错误响应。这使您可以确保包含 CORS 标头,即使身份验证请求失败也是如此。

阅读我们的更多内容文档 https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-gatewayResponse-definition.html,其中包括 CORS 示例。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 API 网关自定义授权方返回的 401 缺少“Access-Control-Allow-Origin”标头 的相关文章

  • 在 AWS Glue 中覆盖动态框架中的镶木地板文件

    我使用动态框架在 S3 中写入镶木地板文件 但如果文件已存在 我的程序会附加一个新文件而不是替换它 我用的句子是这样的 glueContext write dynamic frame from options frame table con
  • AWS Lambda SNS 发送主题两次

    TL DR 编写 lambda 函数来执行一些数据库查询 然后向某些用户组发送电子邮件 为共享歌曲的每个群组发布 SNS 消息 每个组都有自己的成员 因此有自己的一组电子邮件 每个组的 SNS 主题都会发送两次 会员收到该电子邮件两次 该应
  • AWS DynamoDb DocumentClient - 从项目数组创建批量写入 - node.js

    我正在尝试执行batchWrite使用 DynamoDB 的操作DocumentClient来自项目数组 JSON 这是我的代码 var items for i 0 i lt orders length i var ord orders i
  • AWS SAM - 无法创建变更集:Waiter ChangeSetCreateComplete 失败

    AWS SAM 使用 aws sam cli 将代码库部署到 AWS 云 但出现以下错误 Failed to create the changeset Waiter ChangeSetCreateComplete failed Waiter
  • AWS Import-image 用户无权访问 S3 对象

    运行 AWS Amazon Web Services 导入映像任务时 aws ec2 import image description My OVA disk containers file c TEMP containers json 我
  • CORS 击败 AWS LAMBDA :(

    我读了很多关于 CORS Lambda AWS API Gateway 配置的文章 包括 AWS 的设置帮助 http docs aws amazon com apigateway latest developerguide how to
  • ECS 上蓝/绿部署所需的 Cloudformation 脚本

    我正在尝试编写一个云形成模板具有蓝绿部署支持的 AWS ECS 这项蓝绿功能最近由 AWS 在 ECS 中添加 但在云形成模板中找不到任何更新它的参考 他们提供了有关如何通过 UI 而不是通过云形成来完成此操作的文档 我猜想 AWS 可能不
  • 我的 s3 存储桶如何使用 nginx 在不同文件夹中托管多个网站?

    我在 Amazon 上有一个 s3 Cloudfront 解决方案 我想在存储桶内的不同文件夹中托管不同的网站 并通过以下两种方式之一访问它们 子域 gt mywebsite1 mydomain com 或者 路径 gt www mydom
  • S3 静态网站中的目录列表

    我已经设置了一个 S3 存储桶来托管静态文件 使用网站端点 http s3 website us east 1 amazonaws com 时 它迫使我设置一个索引文件 当找不到文件时 它会抛出错误而不是列出目录内容 使用 s3 端点 s3
  • boto3 资源(例如 DynamoDB.Table)的类型注释

    The boto3库提供了几种返回资源的工厂方法 例如 dynamo boto3 resource dynamodb Table os environ DYNAMODB TABLE 我想注释这些资源 以便我可以获得更好的类型检查和完成 但我
  • 身份验证 AWS Cognito SRP

    我正在编写一个控制台 POC 来演示 AWS 认知身份验证 应用程序池而不是联合身份 作为我们的 API 网关身份验证机制 不在 AWS 中托管 这是用 C 编写的 我已经成功创建了一个用户 并确认了他们 但现在我需要进行身份验证以检索我可
  • 使用accesskey和secretkey从S3服务器下载安全文件

    我正在尝试使用 NSURLSessionDownloadTask 从 S3 服务器下载安全文件 但它返回 403 错误 访问被拒绝 My Code NSMutableURLRequest request NSMutableURLReques
  • 使用 Python 从 AWS S3 下载文件

    我尝试使用以下代码将文件从 Amazon S3 存储桶下载到本地 但收到错误消息 无法找到凭证 下面给出的是我编写的代码 from boto3 session import Session import boto3 ACCESS KEY A
  • 如何为数据源指定特定区域的ACM证书?

    我已经为两个区域 ap northeast 1 和 us east 1 的同一域颁发了 2 个证书 因为我的主服务器位于 ap northeast 1 而 CloudFront 需要 us east 1 中的证书 我想在 us east 1
  • 在AWS S3中部署react-redux应用程序

    我在堆栈溢出中遇到了很多类似的问题one https stackoverflow com questions 16267339 s3 static website hosting route all paths to index html
  • 如何在不验证亚马逊 ses 中收件人的情况下发送邮件

    我一直在尝试使用亚马逊 ses 发送邮件 它对所有经过验证的收件人都非常有效 但我现在需要向未经验证的收件人发送邮件 这个怎么做 谢谢 您的 SES 帐户处于沙盒模式 您需要向 AWS 提出请求 以使您的 SES 账户退出沙盒模式 这是有记
  • 在 Amazon Linux 2 上从源代码构建 AWS 开发工具包

    我正在尝试跟进建议aws lambda cpp https github com awslabs aws lambda cpp packaging abi gnu c library oh my降低构建应用程序的复杂性 如果您选择在使用的相
  • 需要运行需要超过 15 分钟才能完成的 aws lambda 函数?

    我的 Lambda 函数的时间限制为 15 分钟 早于 5 分钟 Lambda 进程在 15 分钟后自动终止 但我的进程需要超过 15 分钟 我该如何应对 这是没有办法解决的 如果您正在进行某种长时间运行的处理 那么您的另一个选择可能是在
  • 在 AWS Lambda 中共享代码

    在 AWS Lambda 函数之间共享代码的首选方式是什么 我有这样的结构 functions a 节点模块 index js 包 json b 节点模块 index js 包 json c 节点模块 index js 包 json 这让每
  • 通过ajax执行后期操作时如何克服CORS重定向问题?

    我可以通过外部登录表单中的 post 方法类型提交表单来登录 roundcube 实例 托管在另一台服务器上 我收到此错误 通过 ajax 签名时 XMLHttpRequest 无法加载https 192 168 0 7 mail http

随机推荐

  • VBA 字符串 255 个字符限制

    我在使用 VBA 时遇到问题 并注意到它的字符串限制为 255 个字符 我实际上正在尝试通过 POST 发送 JSON 并暂停执行 我注意到该字符串始终只有 255 个字符 有没有办法调整字符串的大小或其他什么 我在这个问题上浪费了大约 6
  • 使用 jquery 单击或更改广播上的事件

    我的页面中有一些收音机 我想在检查的收音机发生变化时执行一些操作 但是代码在 IE 中不起作用 input radio change 在谷歌搜索后 人们建议使用click反而 但这不起作用 这是示例代码
  • 如何通过替换为空页映射来取消映射 mmap 文件

    Linux 用户空间有没有办法用空页面 映射自 dev null 或者可能是一个空页面 重复映射到从文件映射的页面的顶部 对于上下文 我想找到这个 JDK bug 的修复 https bugs openjdk java net browse
  • 在 Emacs 中,如何确定哪个包正在加载 Tramp?

    我与 ranp 和 cygwin mount 有一个奇怪的交互 我认为 Emacs 文件名的制表符补全会附加一个额外的 i cygwin https stackoverflow com questions 1705802 emacs tab
  • JDesktopPane 放置

    我有一个 JDesktopPane 并希望以网格样式显示 JInternalFrames 而不覆盖框架 框架的尺寸会有所不同 因此应动态分配它们的位置 我可以存储最后放置的框架的坐标 但框架可以移动 最小化或关闭 它们是一种以整齐的方式放置
  • 信任库是否需要子 ca 证书?

    我正在尝试设置分层 PKI 我是否可以创建仅包含根 ca 证书的信任库 这是否意味着我的应用程序信任由子 ca 证书签名的证书 而子 ca 证书又由根 ca 签名 顺便说一句 您似乎必须提供整个证书链 包括根 ca 证书 当然 如果根 ca
  • 当变量有连字符时的 Patsy 公式

    我正在尝试将 statsmodel 线性回归函数与公式一起使用 我的示例数据来自 Pandas 数据框 我对公式中的列名称有一个小问题 由于下游流程 我的列名称中包含连字符 例如 VOLT B NN B IDW 现在 保留连字符的原因之一是
  • 如何对多行的一列值求和?

    我有这个表 我想添加几行的 change 列的值 或者更准确地说 从 ne 值为零的行到 ne 值为零的下一行 不是第二个本身 任何答案将不胜感激 rn date ne change 0 2008 12 07 0 10330848398 1
  • Laravel Vue js spa 应用程序

    1 我想知道为什么人们使用两台服务器用 laravel 制作 vuejs SPA 我想我们可以用另一种方式 制定这样的路线 Route get any function return view index gt where any 并让 v
  • 在 Android 中选择视频的最佳方式是什么

    我得到了一个完美的意图 ACTION PICK和我的照片 启动活动结果 新 意图 Intent ACTION PICK android provider MediaStore Images Media INTERNAL CONTENT UR
  • 单元测试类是否应该与其余代码一起置于版本控制之下?

    如果我为开发项目创建测试套件 这些类是否应该与项目代码的其余部分一起受版本控制 是的 没有理由不将它们置于源代码管理中 如果测试发生变化怎么办 如果接口发生变化 需要测试更改怎么办
  • Socket.io 400(错误请求)

    我的服务器上有这段代码 var express require express var routes require routes var user require routes user var http require http var
  • Flash Builder 条件编译变量

    我正在使用 Flash Builder 4 5 并且我想在调试和发布版本之间使用条件编译 我了解如何使用条件编译以及如何定义编译器常量 我需要的是 IDE 在调试和发布版本之间设置的预定义常量 一种在调试和发布版本之间为编译器指定不同参数的
  • 受约束泛型类型参数的继承

    我知道不可能从泛型类型参数继承 但是在为抽象类型的派生类实现通用代理时会很方便 有谁知道为什么这是不可能的 C 示例 abstract class Foo public virtual void Bar nop class FooProxy
  • vscode 中 TAB 和 ENTER 的问题

    我已经使用 Visual Studio 代码几个月了 我喜欢它 但是 有一件事让我抓狂 我厌倦了处理 VSCode 有一个可怕的习惯 当我在输入结束时按 TAB 或 ENTER 时 它会更改我的文本 例如 假设我正在写一些东西 并且想要在几
  • 维护/更新mysql中的记录顺序

    我在 mySql 中有一个记录表 我需要按照用户指定的方式维护它们的订单 所以我添加了一个 位置 列 当我移动特定记录时更新所有记录的 SQL 语句是什么 我有类似的东西 UPDATE items SET position 2 WHERE
  • 使用 Socket.io 向多个房间发送消息?

    是否可以使用socket io向多个房间发送消息 发送至 1 个房间 io sockets in room emit id 发送到N个房间 io sockets in room1 room2 roomN emit id 是的 可以同时发送到
  • 如何使用 WebResponse 下载 .wmv 文件

    我使用以下代码通过 WebResponse 获取 wmv 文件 我正在使用一个线程来调用这个函数 static void GetPage object data Cast the object to a ThreadInfo ThreadI
  • 为什么AES java解密返回额外的字符?

    请原谅我英语不好 我使用 mcrypt 我从这里得到它用于 php 和 java 的 MCrypt https snipt net raw ee573b6957b7416f28aa560ead71c3a2 nice 在我的android应用
  • 从 API 网关自定义授权方返回的 401 缺少“Access-Control-Allow-Origin”标头

    为了防止未登录的用户通过 AWS API Gateway 调用我的 lambda 函数 我使用自定义授权者 lambda 解决方案 如果请求被授权 200 并且我从被调用的 lambda 得到响应 一切正常并且我得到Access Contr