Contents
トークンでの認証
APIアプリケーションを作る場合、認証方式としてはクッキーとセッションを利用したものよりもトークンを使った認証方法などを使うことがあります。
このような認証方法の場合、ログイン時にセッションとクッキーをやり取りするようなステートフル(以前の状態を保存している)な認証から、ステートフル(状態を持たない)なやり取りになります。
そのため、
- スケールアウト(具体的にいうとサーバー構成を増やすなど)に比較的柔軟に対応できる
- ユーザー情報など様々なものをトークンに含めるため、データサイズが大きくなりがち
参考リンク
Cookie(Session)での認証とTokenでの認証の違いについて
Laravelでのtoken
Laravelにもトークンによるドライバが自前でセットされており、
- usersテーブルにapi_tokenというカラムを追加。
- ユーザーデータ保存時にstr_random(60)などでハッシュ値を登録
- API認証がかかっているURLに対して、以下のように叩く
123456curl -H 'Accept: application/json' \-H 'Authorization:Bearer 保存されたトークン' \(叩くURL)#またはhttp://localhost:8080/api/user?api_token=トークンの文字列
上記のようなプロセスでデータ取得ができます。
Laravelのトークン認証の参考リンク
Laravel Token API認証(Authentication)を理解する
「LaravelWebアプリケーション開発」6-2.トークン認証