ASP.NET Core(.NET 6)でクロスオリジンリクエスト ( CORS )を設定する方法を解説します。
簡単に クロスオリジンリクエスト ( CORS )とは何かについても少し解説したいと思います。
クロスオリジンリクエスト( CORS ) とは
クロスオリジンリクエスト( CORS :Cross Origin Resource Sharing) とは、Webページ上で記載されている情報がブラウザから別のサーバにアクセスできるようにすることです。
あるオリジン (ドメインやプロトコル、ポート番号の組み合わせ) から別のオリジンと通信を行う際のセキュリティ上の仕組みであって、
CORSを設定することによって、その異なるオリジン間の安全なリクエストやサーバー間のデータ転送を行うことができるようになります。
通常、セキュリティの観点から別のサーバーからのリクエストをブラウザが制限しています。例えば、AというサーバーからJavaScriptをダウンロードし、そのJavaScriptからBのサーバにアクセスしてデータを取得するようなことはできないようなっています。
クロスオリジンリクエスト(CORS)の設定を実装する
ASP.NET Core (.Net 6) では、デフォルトではCORSの設定が行われていません。
そのため、Program.csにCORSの設定を新しく追加する必要があります。
CORSの設定を実装した例が以下になります。
using Microsoft.EntityFrameworkCore;
var builder = WebApplication.CreateBuilder(args);
var MyAllowOrigins = "_myAllowOrigins";
builder.Services.AddCors(options =>
{
options.AddPolicy(name: MyAllowOrigins,
builder =>
{
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader();
});
});
app.UseCors(MyAllowOrigins);