skillup

技術ブログ

プログラミング全般

トークン認証に関して

投稿日:

トークンでの認証

APIアプリケーションを作る場合、認証方式としてはクッキーとセッションを利用したものよりもトークンを使った認証方法などを使うことがあります。

このような認証方法の場合、ログイン時にセッションとクッキーをやり取りするようなステートフル(以前の状態を保存している)な認証から、ステートフル(状態を持たない)なやり取りになります。

そのため、

  • スケールアウト(具体的にいうとサーバー構成を増やすなど)に比較的柔軟に対応できる
  • ユーザー情報など様々なものをトークンに含めるため、データサイズが大きくなりがち

参考リンク

セッションによる認証とトークンによる認証の比較

Cookie(Session)での認証とTokenでの認証の違いについて

Laravelでのtoken

Laravelにもトークンによるドライバが自前でセットされており、

  • usersテーブルにapi_tokenというカラムを追加。
  • ユーザーデータ保存時にstr_random(60)などでハッシュ値を登録
  • API認証がかかっているURLに対して、以下のように叩く

上記のようなプロセスでデータ取得ができます。

Laravelのトークン認証の参考リンク

Laravel Token API認証(Authentication)を理解する

LaravelWebアプリケーション開発」6-2.トークン認証

-プログラミング全般
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

抽象性と可読性のトレードオフに関して

私自身プログラムを書く場合、とにかくコードを書く量を制限したいという思いが強く、多少でも共通化できる箇所がある場合はなるべく共通化するようにしておりましたが、時と場合によっては過剰に共通化したことによ …

no image

ユーザーに見せるエラーメッセージに関する考察

プログラムで難しいことの3つは テスト ログ エラーハンドリング とかいてきましたが、ユーザー側に見せるエラーメッセージについて考察して見ました。 Contents1 ログとエラーメッセージの違い2 …

no image

OSコマンドインジェクション

Contents1 OSコマンドインジェクションとは?2 被害3 対策4 参考リンク OSコマンドインジェクションとは? OSに対する命令文を不正に紛れ込ませて攻撃させる手法。 被害 サーバー内のファ …

no image

フォームの処理について

本日はフォームの処理に関して。主に一覧検索画面のフォームについてです。 フレームワークでフォームの処理をする場合、変数の初期値やバリデーションなどをあらかじめ読み込むオブジェクトを設定しておき、変数が …

no image

コードの分割

今回はリーダブルコードの8章。コードの分割について。 ポイントとしては1行に情報を詰め込みすぎているような場合は分割して、意味がわかりやすい区切りにまとめよう、といったことでしょうか。つまりは「困難は …

アーカイブ