タグ

ブックマーク / zenn.dev/ritou (3)

  • OAuth 2.0 で有効期限がない(ずっと先の) Refresh Token の扱いについて

    ritouです。 今日は OAuth 2.0 の話題で少し頭の体操をしましょう。 いきなりまとめ 今回は OAuth 2.0 の Refresh Token を用いて非同期の処理を実装するケースはよくある "Refresh Tokenの有効期限がない=無効化されない" という前提の設計を見かけるが、よくないと思う 無限に有効な Refresh Token が必要になりそうな機能は Client Credentials Grant に持っていくのも一つの手では みたいな話をします。 OAuth 2.0 の Refresh Token 仕様の参照とかはめんどいのでざっくりまとめると Access Token を更新するために利用されるトークン Resource Owner が介入しない非同期なタイミングでも利用される場合がある 有効期限切れや AuthZ Server / Resource O

    OAuth 2.0 で有効期限がない(ずっと先の) Refresh Token の扱いについて
  • OIDCを用いたID連携における "確認済みメールアドレス" の使い方と注意点

    ritou です。 前の記事でちょっと確認済みメアドについての記載をしたあと、Twitterでちょっとやりとりしたり個別にDMで質問が来たりしたのでまとめます。 まとめ "確認済みメアド" のユースケースはいくつかある 新規登録時に自サービスで確認処理を行わずに利用 未登録ユーザーがソーシャルログインしてきた時に既存ユーザーとの紐付け IdPからもらった確認済みメアドをそのまま使っていい場合とそうじゃない場合がある 自サービスで提供しているメールアドレスかどうかで変わる部分を許容するかどうか email_provided のようなclaim があると便利かもしれない 確認済みメアドのユースケース 新規登録時の確認処理をスキップ これはID連携、ソーシャルログインのメリットとしてずっと言われているものです。 IdPで確認済みなのでRPは確認せずに信用して使おう というお話です。 よく知られて

    OIDCを用いたID連携における "確認済みメールアドレス" の使い方と注意点
  • "JWT=ステートレス"から一歩踏み出すための考え方

    おはようございます、ritouです。 この話に乗っかっていきます。 3行で ログアウト時にJWTを無効化できない実装は今後脆弱性診断で「OWASP Top 10 2021違反」と指摘されるようになりそう(今も個別にされてるかもしれないけど) JWTは単純なフォーマットなので、ステートレスなセッション管理においてログアウトしたときに文字列自体を無効化できない件は独自エンコード方式(一般的にフレームワークのCookieストアと呼ばれているもの)でも起こり得る 「セッションID vs JWTで内包」 以外にも 「セッションIDをJWTに内包」もあり得る。既存の機能を残しつつ「JWTで武装」する選択肢も考えてみてはどうか。 ステートレスなセッション管理でログアウトの際に文字列自体を無効化できない問題 これは前から言われていますし、駆け出し何とか勢のQiita記事に書かれるぐらいには一般的です。 2

    "JWT=ステートレス"から一歩踏み出すための考え方
  • 1