CORS pre-flight OPTIONS not working because of lowercase casting
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- aws, javascript, node.js
Hướng nghiên cứu
Bắt đầu bằng cách tái hiện yêu cầu OPTIONS bằng route api.options("/*", ...) được cung cấp và kiểm tra cách lambda-api trả về các header CORS đã cấu hình. Theo dõi quá trình xử lý header phản hồi chịu trách nhiệm chuyển chúng thành chữ thường, sau đó xác minh phản hồi pre-flight đã được sửa trong Chrome và với Postman.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Hi all,
I just picked up lambda-api, and seems like its the perfect solution for my project; however, I have been struggling for hours trying to get CORS to work.
My OPTIONS pre-flight request headers are being properly sent, but they're all lower case, and it's causing my web appl running in Google Chrome to not recognize it as Access-Control-Allow-Origin as this is the error I am receiving from it:
Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
I verified, with postman, that this is the headers coming back from the pre-flight OPTIONS request:
However, noticed that they're all lower case, and thus Google Chrome cannot find Access-Control-Allow-Origin
This is how it's getting received in Google Chrome:
This is how I am providing CORS in my Lambda:
// import AWS Lambda types
import { APIGatewayProxyEventV2, Context } from "aws-lambda";
// import Lambda API default function
import createAPI from "lambda-api";
import { Authorizer, Role } from "./authorizer";
import { ListProducts } from "./products/List";
// instantiate framework
const api = createAPI({});
// ************************************* CORS *************************************
api.options("/*", (req: any, res: any) => {
// Add CORS headers
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Methods", "*");
res.header("Access-Control-Allow-Headers", "Content-Type, Authorization, Content-Length, X-Requested-With");
res.sendStatus(200);
});
Please suggest a workaround for current version of Chrome.
Thank you!
- Ngôn ngữ chính
- JavaScript
- Star
- 1.5k
- Fork
- 127
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của jeremydaly/lambda-api
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
jeremydaly/lambda-api#356 ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 30/100
jeremydaly/lambda-api#270 ·
-
Logger OutputCó thể làm lại được @naorpeled đã nhận 900 ngày trước và không có pull request nào đang mở. Đang mở
jeremydaly/lambda-api#259 · 1 bình luận · 1 người được giao ·
-
Is it possible to disable versioning?Có thể đã có người làm @naorpeled đã nhận 94 ngày trước. Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 52/100
jeremydaly/lambda-api#257 · 5 bình luận ·
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 38/100
jeremydaly/lambda-api#251 · 1 bình luận ·
Tất cả issue của jeremydaly/lambda-api
Issue tương tự
-
[aw] Upgrade availableĐang mởagentic-workflows
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
githubnext/gh-aw-cao#16599 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
effort:low impact:medium status: auto-triaged UI / Studio
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
mastra-ai/mastra#26124 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
allow igdb.comĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 61/100
AdguardTeam/HostlistsRegistry#939 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
product / databases
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
smansfield635-create/smansfield635-create.github.io#5818 · 4 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày