skillup

技術ブログ

プログラミング全般

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

投稿日:

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

以前まとめたもの

Oauthについて

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

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

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

識別子型(ハンドル型)

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

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

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

内包型

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

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

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

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

参考リンク

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

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

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

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

 

-プログラミング全般
-

執筆者:


comment

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

関連記事

no image

コードレビュー時のポイント

コードレビュー(仕様的な点ではなくて規約的なところのチェック)などで気をつけることなど。 ポイントとしては検知ツールで確認するコストを減らすことが一番大事(カスタマイズの方法について調べておく)、ある …

no image

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

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

no image

ログの設計指針について

今まで10以上近い現場で仕事をしてきましたが、どの現場でも絶対必要になる(かつどこもあまり対策が取られていない)技術としては 検証したい状態の復元がすぐにできる(テストデータ作成) ログの適切な設計 …

no image

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

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

no image

emptyの扱いに関して

PHPで空白や存在確認として便利なemptyですが、乱用すると意図しない動きをすることがあるケースが多々あります。 Contents1 emptyの挙動に関して2 数値の03 検索などの全判定と値のな …

アーカイブ