簡體   English   中英

我需要在 .net core 3.0 中為通配符來源設置 allowcredentials

[英]I need to set allowcredentials for a wildcard origin in .net core 3.0

options.AddPolicy("AllowAll", 
                  builder => builder.WithOrigins("*")
                                    .AllowAnyHeader()
                                    .AllowAnyMethod()
                                    .AllowCredentials())

此代碼顯示 CORS 錯誤:

CORS 協議不允許同時指定通配符(任何)來源和憑據。 如果需要支持憑據,請通過列出各個來源來配置 CORS 策略。

我該如何解決這個問題? 如何使用AllowCredentials添加通配符來源?

你不能那樣做

文檔中所述:

CORS 規范還指出,如果存在 Access-Control-Allow-Credentials header,則將來源設置為“*”(所有來源)無效。

文檔中的這一部分:

響應認證請求時:

服務器不得為 Access-Control-Allow-Origin 響應標頭值指定“*”通配符,而必須指定一個明確的來源;

例如:訪問控制允許來源: https://example.com

服務器不得為 Access-Control-Allow-Headers 響應標頭值指定“”通配符,而必須指定 header 名稱的顯式列表; 例如,Access-Control-Allow-Headers: X-PINGOTHER, Content-Type 服務器不得為 Access-Control-Allow-Methods 響應標頭值指定“ ”通配符,而必須指定一個明確的方法列表姓名;

例如,訪問控制允許方法:POST、GET

服務器不得為 Access-Control-Expose-Headers 響應標頭值指定“*”通配符,而必須指定 header 名稱的顯式列表;

例如,Access-Control-Expose-Headers: Content-Encoding, Kuma-Revision

如果您使用WithOrigins("*")進行設置,它會將Access-Control-Allow-Origin:*添加到響應 header

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM