ASP.NET WEB API プログラミング

【 ASP.NET WebAPI 】クロスオリジンリクエスト( CORS )の設定方法


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);

おすすめ記事はコチラ

スマレジ テックファーム 1

スマレジ テックファーム で Webエンジニアとして勤めている tomoです。 今回は株式会社スマレジや私が所属している 「 スマレジ テックファーム 」についてPRしていきたいと思います。 スマレジ ...

2

FromBody 属性を使用して、 ASP.NET Core(.NET 6)のWebAPIでBodyパラメータのJSONを受け取る方法を解説します。 FromBody 属性 POSTやGETで呼び出さ ...

PC picture 3

ASP.NET Core(.NET 6)でCookie認証のタイムアウトを設定する方法を解説します。 Cookieの有効期限について Cookieには通常はタイムアウト(有効期限)を設定します。 基本 ...

4

ASP.NET Core(.NET 6)でクロスオリジンリクエスト ( CORS )を設定する方法を解説します。 簡単に クロスオリジンリクエスト ( CORS )とは何かについても少し解説したいと思 ...

-ASP.NET, WEB API, プログラミング
-, ,