skillup

技術ブログ

プログラミング全般

アクセストークンの分類について

投稿日:

認可情報を取得する際に、ID &パスワードではなく、アクセストークンで認証を行うサービスは多いと思うのですが、アクセストークンにも色々ありますので、再度まとめておこうと思います。

以前まとめたもの

Oauthについて

JWT(ジョット)の認証に関して

アクセストークンの分類について

アクセストークンといっても色々なタイプがあるようなのでここでまとめておこうと思います。

識別子型(ハンドル型)

アクセストークンですが、単純にDBの中に入っており、照合する使い捨ての文字列をハッシュ化したものですね。このパターンは多いと思うのですが、有効期限の短いパスワードみたいなものでしょうかね。

この場合、アクセストークンを認可サーバーとリソースサーバー両方に登録する必要が出てきます。

アクセストークン自体の有効期限は30分〜1時間程度になるため、運用方法を考えないとDBを圧迫することになりますが、認可サーバー(トークンを発行するサーバー)とリソースサーバー(個人情報が入っているサーバー)が同一のものであれば、こちらの方がセキュリティのレベルが高いため、こちらを使われることが多いかと思います。

内包型

認可サーバーとリソースサーバーが分離されている場合、認可サーバーで発行されたアクセストークンが正しいかどうかを検証するすべがありません。

この問題の解決手段としてアクセストークン自体に情報を埋め込んでしまおうという手法でJWT「JSON Web Token」という手段が用いられることがあり、これを複合化して、情報を受け取ります。

サンプルを作ったりして動かしたのですが、使い所自体がわかっていませんでした・・

確かに認可サーバーとリソースサーバーが分離している場合、トークン自体の整合を取ることができないので、トークン自体に情報を含まないとダメですね・・・

参考リンク

【連載】世界一わかりみの深いOAuth入門 〜 その2:アクセストークンとリフレッシュトークン 〜

OAuth アクセストークンの実装に関する考察

OAuth 2.0 におけるアクセストークン実装方法の検討

ここがわかりやすく・・というかそのまま勉強させてもらったので、リスペクトの意味をこめて貼っときます。

 

-プログラミング全般
-

執筆者:


comment

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

関連記事

no image

新しいプロジェクトに入った時にやること

新しいプロジェクトに入った時に最初にすべきことややっておくことなど Contents1 仕様理解編1.1 ユーザーの行動遷移の理解1.2 キー系のデータの理解1.3 データグルーピング1.4 サンプル …

no image

読みやすいコードについて

コードリーディングにおいて聖典となっているリーダブルコードについて読んでいこうかと。 ただ読んでいくだけではつまらないので、自分なりの考え方も書いていきます。 Contents1 優れたコードの定義1 …

no image

ログインしたままにするの挙動に関して(ステートフル認証の基本的な仕組みの復習もかねて)

基礎の基礎ですが、ログイン処理に関しての動きに関して。 Contents1 通常のログイン処理に関して2 ログインしたままにする 通常のログイン処理に関して 通常のログイン処理では、まず以下のような手 …

no image

Webの高速化に関して

Webの高速化に関してメモ。 高速化って言っても幅広いんですけどね。自分が行なっている対策に関して。 一応LAMP環境を前提にしてます。 Contents1 一番大事なのは測定2 DB対策3 フロント …

no image

JWT(ジョット)の認証に関して

セッションやtokenを使った、認証について色々書いてきましたが、今回はJWTを使った認証について。 Contents1 以前の認証がらみの記事2 JWT(ジョット)とは?2.1 ヘッダー2.2 クレ …

アーカイブ