アクセストークンの有効期限と再発行について

823 views
Skip to first unread message

masatakashibuya

unread,
Jan 30, 2018, 8:50:53 PM1/30/18
to OpenTouryoProject
お世話になっております。

表題の件についてですが、
アクセストークンのクレーム情報に有効期限を設定した場合、
セッションの管理のような仕組みはOpen棟梁にありますでしょうか。

アクセストークンを再発行するために
リフレッシュトークンを発行して・・・という方法もあるようですが

アクセストークンは、RS256のJWTを使用しています。

以上、よろしくお願いします。

daisukenishino

unread,
Jan 30, 2018, 10:42:40 PM1/30/18
to OpenTouryoProject
仕組みはないので自前で行う必要があります。

・先ず、Claim内の有効期限の設定と検証は自前で行います。

 例えば、JwtToken.Verifyでは以下のようにexpの検証処理を実装しています。

・リフレッシュやスライディング
 ・リフレッシュトークンはOAuth2仕様なので、
  JWTアサーション単品を認証で使用するには必須ではありません。

   JWT - マイクロソフト系技術情報 Wiki > 構造 > 構成要素 > ペイロード(クレームセット)

 ・SlidingExpiration(スライディング有効期限)みたいなことをしたい場合は、
  都度再発行するか、JWTのIDに対する有効期限をサーバーで管理するとか、
  そういうことをする必要が出てくると思います。

 ・リフレッシュトークンのように、有効期限内のJWTを送信すると、
  expを更新してくれるという方法でもいい気がします。

2018年1月31日水曜日 10時50分53秒 UTC+9 masatakashibuya:

masatakashibuya

unread,
Jan 30, 2018, 11:03:37 PM1/30/18
to OpenTouryoProject
リフレッシュトークンのように、有効期限内のJWTを送信すると、
  expを更新してくれるという方法でもいい気がします。

ですが、expを更新したJWTを再発行するということでしょうか。
または、サーバーで管理している有効期限を更新するということでしょうか。

よろしくお願いします。


2018年1月31日水曜日 12時42分40秒 UTC+9 daisukenishino:

daisukenishino

unread,
Jan 31, 2018, 12:55:01 AM1/31/18
to OpenTouryoProject
解り難くて、すいません。

ユーザーから見た場合、、
・リフレッシュトークン
・SlidingExpiration(スライディング有効期限)
という2つの方式がありますが、

技術的には、
・JWT再発行
・サーバーで有効期限を管理・更新
の2選です。

後者はjtiクレームにGUIDなどを詰めて管理すればイイと思いますが、
ストアも必要になって実装も複雑になるので、再発行が楽だと思います。

2018年1月31日水曜日 13時03分37秒 UTC+9 masatakashibuya:
Reply all
Reply to author
Forward
0 new messages