カテゴリ: Laravel 更新日: 2026/02/05

LaravelでAPIリクエストに認証をかける方法を完全解説(Sanctum入門)

LaravelでAPIリクエストに認証をかける方法(Sanctum入門)
LaravelでAPIリクエストに認証をかける方法(Sanctum入門)

先生と生徒の会話形式で理解しよう

生徒

「LaravelでAPIを作ったんですが、誰でもアクセスできてしまいます。これって危なくないですか?」

先生

「そのままだと問題ですね。APIには本人だけが使えるようにする仕組み、つまり認証が必要です。」

生徒

「APIにもログインみたいなものがあるんですか?」

先生

「あります。LaravelではSanctumを使うと、API認証をとても簡単に実装できます。」

1. API認証とは何か

1. API認証とは何か
1. API認証とは何か

API認証とは、そのリクエストを送ってきた人が「正しい利用者かどうか」を確認する仕組みです。現実の例で言うと、会員制の建物に入るときに会員証を見せるようなものです。

認証がないAPIは、誰でも勝手に使えてしまいます。これでは大切なデータを守れません。そのため、LaravelのAPI開発では認証を必ず設定します。

2. Sanctumとは

2. Sanctumとは
2. Sanctumとは

Sanctumは、Laravel公式の認証機能の一つです。API用の認証をシンプルに実装できるのが特徴です。難しい設定をしなくても、トークンと呼ばれる鍵を使って安全に通信できます。

トークンとは「本人であることを証明する合言葉」のようなものです。一度ログインしてトークンを取得すると、その後のAPIリクエストではこのトークンを一緒に送ります。

3. Sanctumで使われるトークン認証の考え方

3. Sanctumで使われるトークン認証の考え方
3. Sanctumで使われるトークン認証の考え方

Sanctumのトークン認証は、とても分かりやすい仕組みです。最初にログインAPIを呼び出し、正しいメールアドレスとパスワードならトークンが発行されます。

その後は、APIにアクセスするときにトークンを添えて送るだけです。Laravel側では、そのトークンが正しいかを確認し、問題なければ処理を実行します。

4. Sanctumを使う準備

4. Sanctumを使う準備
4. Sanctumを使う準備

SanctumはLaravelに簡単に追加できます。インストールすると、API認証に必要な仕組みが自動で用意されます。初心者でも、特別な知識がなくても使える点が大きなメリットです。

この準備によって、「APIを守る鍵」がシステムに組み込まれます。

5. トークンを発行する処理のイメージ

5. トークンを発行する処理のイメージ
5. トークンを発行する処理のイメージ

$token = $user->createToken('api-token')->plainTextToken;

この処理で、ユーザー専用のトークンが作られます。この文字列がAPI認証で使われる鍵になります。実際の開発では、このトークンをJSON形式で返します。

6. 認証が必要なAPIを守る方法

6. 認証が必要なAPIを守る方法
6. 認証が必要なAPIを守る方法

Sanctumでは、ミドルウェアという仕組みを使ってAPIを保護します。ミドルウェアとは、処理の前にチェックを入れる門番のような存在です。

認証用のミドルウェアを設定すると、トークンを持っていない人はAPIを使えなくなります。これにより、不正アクセスを防げます。

7. API認証があることで何が安心か

7. API認証があることで何が安心か
7. API認証があることで何が安心か

APIに認証をかけることで、データの安全性が大きく高まります。誰がどのAPIを使っているかも分かるため、トラブルの原因も追いやすくなります。

LaravelとSanctumを使えば、難しい理論を知らなくても、実用的なAPI認証を実装できます。API開発では欠かせない基本要素なので、しっかり理解しておきましょう。

関連記事:
カテゴリの一覧へ
新着記事
New1
Laravel
Laravelのコントローラでリクエストをログ出力する方法を初心者向けに解説
New2
Laravel
Laravelでモデルからデータを取得・保存・更新・削除する方法を完全ガイド!初心者でもわかるEloquent ORM入門
New3
Symfony
Symfonyのセッション管理完全ガイド!初心者でもわかるセッションドライバ設定(file・Redis)
New4
Laravel
Laravelのエラーメッセージをカスタマイズする方法|初心者向けガイド
人気記事
No.1
Java&Spring記事人気No1
Laravel
Laravelでモデルからデータを取得・保存・更新・削除する方法を完全ガイド!初心者でもわかるEloquent ORM入門
No.2
Java&Spring記事人気No2
Laravel
LaravelでBasic認証を実装するミドルウェアの使い方!初心者向けガイド
No.3
Java&Spring記事人気No3
Symfony
SymfonyでTwigテンプレートを表示する方法を完全ガイド!初心者にもわかるHTMLとの違いや使い方
No.4
Java&Spring記事人気No4
Laravel
Laravelのデータベース設定方法を完全ガイド!初心者でもわかる.envファイルの使い方
No.5
Java&Spring記事人気No5
Laravel
LaravelでファクトリとSeederを組み合わせてダミーデータを生成する方法!初心者でも簡単にテストデータ作成
No.6
Java&Spring記事人気No6
Laravel
Laravelでログを出力する方法(Monolog・storage/logs)
No.7
Java&Spring記事人気No7
Symfony
Symfonyのコントローラでリダイレクトする方法を徹底解説!初心者にもやさしく解説
No.8
Java&Spring記事人気No8
CodeIgniter
CodeIgniterでRESTful API開発!API専用コントローラの作り方入門