[英]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.