タグ

ブックマーク / ritou.hatenablog.com (7)

  • ID連携の標準化仕様紹介とセキュアな実装のためのアプローチ ~ 2021 - r-weblife

    おはようございます ritou です。 久々に「解説付きスライド全公開」的なやつをやります。 先月、チーム内でID連携のための標準化仕様に関する勉強会(私が一方的に話す会)を行いました。 が、実際はだいぶグダグダになってしまい、これはその後色々付け足してるうちに別物になってしまった資料です。 内容としては、ID連携のための標準化仕様にどのようなものがあるかを知ってもらうための「入門編」のような立ち位置で作りました。 OpenID Connect(やSAMLのような) ID連携のための標準化仕様を紹介しようと思うと、ついつい個別にシーケンスやリクエスト/レスポンスの説明を始めがちですが、初学者が気になるのはそんな細けぇことではないでしょう。 まずは「この仕様で何ができるようになるのだろう」「この仕様では何を実現したいんだろう」と言うところから理解していくのが良いのではないでしょうか。 そこで

    ID連携の標準化仕様紹介とセキュアな実装のためのアプローチ ~ 2021 - r-weblife
  • セキュアなトークンへのJWT適用について - r-weblife

    おはようございます、ritouです。 こういう記事を読みました。 lab.astamuse.co.jp Webアプリケーションでセキュリティ対策のためにランダム文字列な文字列する場面が多々あります。例えば CSRF対策のトークン OAuthやOpenIDに使用するnonce, state メールの到達確認用URLのトークン パスワードをhashする際に使用するsalt これらの値は単に衝突しなければOKというものではありません。十分なセキュリティ強度を確保するためには推測不可能なランダム値を使う必要があります。 私は持病を持っているため、ついつい「あー、これJWTなら...」と考えてしまいます。 今回は、こういうセキュアなトークンの方にJWTを使ったらどうなるかというお話をざっくり書きます。 ちなみに、乱数生成の話に異論を唱えるわけではありません。 今回の要件にある 衝突しない 推測不可能

    セキュアなトークンへのJWT適用について - r-weblife
    clavier
    clavier 2021/09/12
  • 認証機能を独自実装する代わりにIDaaSのREST APIを使うアプローチ - r-weblife

    こんにちは、ritou です。 最近のあれこれでIDaaSと呼ばれる機能に注目が集まっているような気がしますが、どうしてもフロントエンドでの導入部分が目に付きます。 「新規サービスで使っていこう」ならまだしも「既存のを何とかしたい」みたいな場合にフロントエンドまでごっそり変えるのなんて腰が重くなって仕方ない感じでしょう。 そこで今回は、REST APIを用いた新規導入、移行というアプローチもあるのかなという話を書いておきます。 SPAとなると当然フロントエンドの振る舞いに注目されるけど、Deviseからの...を考える人たちはこの辺りから攻めるのもアリかと思う。ちゃんと整理して考えよう。https://t.co/fwhoA6wtjx— 👹秋田の🐱 (@ritou) 2020年8月19日 IDaaS の REST API この辺りをみてみてはどうでしょう。 Firebase Authe

    認証機能を独自実装する代わりにIDaaSのREST APIを使うアプローチ - r-weblife
    clavier
    clavier 2020/08/20
  • JWT+RDBを用いたOAuth 2.0 ハイブリッド型トークンの実装例 - r-weblife

    おはようございます、ritouです。 (⚠️認可イベントの識別子のあたり、ちょっと見直しました!最初に見ていただいた方はもう一回どうぞ!) 前回、ハイブリッド型と呼ばれる OAuth 2.0 のトークン実装について書きました。 ritou.hatenablog.com その続きとして JWT(JWS) + RDBでできる実装例を紹介します。 理解するにはそれなりの OAuth 2.0 に関する知識が必要になるかもしれませんが、よかったら参考にしてみてください。 何を考えたのか OAuth 2.0のRefresh Token, Access Tokenを考えます。 要件から整理しましょう。 要件 結構ありますが、最低限の OAuth 2.0 の Authorization Server を実装しようと思ったらこれぐらいはやらないといけないでしょう。 RFC6750 で定義されている Bear

    JWT+RDBを用いたOAuth 2.0 ハイブリッド型トークンの実装例 - r-weblife
    clavier
    clavier 2020/06/07
  • OpenID Connectのセッションに関する3つの仕様について - r-weblife

    おはようございます、ritouです。 OpenID Summit Tokyo 2015までもうちょいですね。 プログラムを見てみましょう。 OpenID Summit Tokyo 2015 仕様の話もありそうですね。 今回はRFCXXXXとして発行された系ではなく、OpenID Foundationで策定が進んでいるOpenID Connect関連の仕様を紹介します。 ドラフト仕様も、いろいろあります。 Specifications | OpenID このうち、今回は次の3個の仕様をとりあげます。 Session Management – (Optional) Defines how to manage OpenID Connect sessions, including postMessage-based logout functionality HTTP-Based Logout –

    OpenID Connectのセッションに関する3つの仕様について - r-weblife
  • Webアプリケーションのセッション管理にJWT導入を検討する際の考え方 - r-weblife

    おはようございます、ritou です。 qiita.com これの初日です。 なんの話か 皆さんは今まで、こんな記事を目にしたことがありませんか? Cookie vs JWT 認証に JWT を利用するのってどうなの? JWT をセッション管理に使うべきではない! リンク貼るのは省略しますが、年に何度か見かける記事です。 個人的にこの話題の原点は最近 IDaaS(Identity as a Service) として注目を集めている Auth0Cookie vs Token とか言う比較記事を書いたことだと思っていますが、今探したところ記事は削除されたのか最近の記事にリダイレクトされてるようなのでもうよくわからん。 なのでそれはおいといて、この話題を扱う記事は クライアントでのセッション管理 : HTTP Cookie vs WebStorage(LocalStorage / Sess

    Webアプリケーションのセッション管理にJWT導入を検討する際の考え方 - r-weblife
  • OAuth 2.0のAccess TokenへのJSON Web Token(JSON Web Signature)の適用 - r-weblife

    こんばんは、ritouです。 久々の投稿な気がしますが、今回はOAuth 2.0のリソースアクセス時の設計の話です。 ずーっと前から書こうと思いつつ書いてなかったので、ここに書いておきます。 出てくる用語や仕様は、下記の翻訳リンクを参照してください。 The OAuth 2.0 Authorization Framework JSON Web Signature (JWS) 想定する環境 わりとよくある環境を想定しています。 OAuth 2.0で認可サーバーとリソースサーバーがある 認可サーバーがAccess Tokenを発行 リソースサーバーがAPIリクエストに含まれるAccess Tokenを検証する よくある実装とその悩みどころを、JSON Web Token(JSON Web Signature)により軽減できるかもという話です。 よくある実装 : Access Tokenに一見ラ

    OAuth 2.0のAccess TokenへのJSON Web Token(JSON Web Signature)の適用 - r-weblife
  • 1