OAuth2

【メモ】OAuth 2.0 におけるアクセストークンの種類

アクセストークンは次の2種類に分類できる reference token 認可サーバーでしか検証できないトークン(ランダムな文字列など) リソースサーバーはトークンを受け取るたびに毎回認可サーバーにトークンの検証をリクエストしなければいけない サービスをスケ…

Spring Security OAuth2 Client でKeycloakからアクセストークンを取得してみる

前回はJavaScriptを用いてSPAでアクセストークンを取得してみましたが、今回はSpring Securityを用いてサーバーによるアクセストークン取得をやってみたいと思います。 といいましても、Spring Securityが細かい実装の部分をサポートしてくれているので、や…

OAuth 2.0 のJavaScriptクライアントを作ってみる

OAuth 2.0 とか OpenID Connect の全体のフローを作ってみたいと思ったので、とりあえずOAuth 2.0で動くJavaScriptクライアントをSingle Page Applicationとして作ってみたいと思います。 OAuth 2.0 を利用する上で推奨されるセキュリティ上の対策がいくつか…

Spring Security のリソースサーバーでJWTから Granted Authorities を作る

ちょっとタイトルが分かりづらいですが、Spring Security で作ったリソースサーバーがJWTから Granted Authorities を作る件についての話です。 Spring Security が JWT から Authentication を作る仕組み 公式リファレンスにわかりやすい図とともに載ってま…

Spring Security と Keycloak を使ってリソースサーバーを作ってみた

リソースサーバーを作ってみようかと思い立ちまして。 全体のイメージはこんな感じで考えています。 クライアントはcurlコマンドを使ってリソースオーナーパスワードクレデンシャルフローでアクセストークンを取得します。リソースオーナーパスワードクレデ…

JWTを作ってみる

JWSを作ってみたので、JWTも作ってみようと。 使用するライブラリは以前と同じです。 https://connect2id.com/products/nimbus-jose-jwt 作り方はこちらに載っていました。 https://connect2id.com/products/nimbus-jose-jwt/examples/jwt-with-hmac 実際に…

JWTとJWSの違いとは?

さっきJWTについての記事を書いたんですが、JWTとJWSの違いがよくわからんなと。なので少し調べてみました。 さっき書いた記事っていうのはこれ。 まず、JOSE(JSON Object Signed and Encription)という一連の仕様をまとめているものがあり、そこでJWTとJW…

JWSを作ってみる

OAuth2を使っててJWSとかでてきて、こいつは一体何者なんだって思うときあるじゃないですか。なので調べてみて使ってみたいなと。 JWSとはなにか 関連するRFCは以下の通り。 RFC7519 JSON Web Token - https://tools.ietf.org/html/rfc7519 RFC7515 JSON Web…