1. ホーム
  2. asp.net-web-api

WebAPI 2 で CORS 認証を行うには?

2023-12-01 21:19:33

質問

シナリオは単純で、アクセストークンを取得するために別のサーバー(APIサーバーとは異なる)からログインする必要があります。

私はインストールした Microsoft.Owin.Cors パッケージをAPIサーバーにインストールしました。で Startup.Auth.cs ファイルの下にある public void ConfigureAuth(IAppBuilder app) の下に、私は

app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);

WebApiConfig.cs の下にある public static void Register(HttpConfiguration config) の下に、次のような行を追加しました。

// Cors
var cors = new EnableCorsAttribute("*", "*", "GET, POST, OPTIONS");
config.EnableCors(cors);

他に変更すべき点は?

どのように解決するのですか?

私が発見したものを見てください。

カスタムヘッダーを <system.webServer> .

<httpProtocol>
  <customHeaders>
    <add name="Access-Control-Allow-Origin" value="*" />
    <add name="Access-Control-Allow-Methods" value="GET, POST, OPTIONS, PUT, DELETE" />
  </customHeaders>
</httpProtocol>

そうすると、CORS認証ができるんです。