KeycloakでSSOする際に発生する認可コードフローと、取り交わされるAccessToken, RefreshToken, IDTokenが、どう返され、使われるのかを図に起こしたので貼っておく。 環境 Keycloak 9.0.3 フロー 参考 http://openid-foundation-japan.github.io/openid-connect-core-1_0.ja.html#Overview http://openid-foundation-japan.github.io/openid-connect-core-1_0.ja.html#IDToken
Java11 上で動かしている JBoss (Red Hat SSO) 環境で、SOAP サービスを呼び出そうとしたら、とても大変だったのでそのまとめです。 環境 AdoptOpenJDK Hotspot 11.0.11+9 Red Hat SSO 7.4 (JBoss EAP 7.3.7) Apache CXF 3.4.3 ひとつめの問題 Red Hat SSO に、カスタムプロバイダ (認証機能を拡張するモジュール) を載せた状態で当該機能にアクセスした際、以下のような例外が発生しました。 が見つからないのだそうです。 これは、Java8 以前のバージョンで、 の中に含まれていたクラスです。 Java…
Keycloak 4がリリースされたのに合わせてもリリースされたので、Spring Boot 2との連携例を紹介しようという記事の2回目です。(1回目はこちら) https://github.com/yo1000/kc4-boot2-resource 要件 環境 今回の作業環境は以下のとおりです。 Java 1.8 Kotlin 1.2.41 Spring Boot 2.0.3.RELEASE Keycloak 4.0.0.Final 認証認可フロー 今回は、SSOクライアントが複数で、それぞれがリソースサーバーとリソースクライアントの関係にある認証の流れを確認していきます。以下のような認証フローをイメージしてください。 /img/posts/2018-06-25/sequence-kc-resource.svg Keycloakのセットアップ Keycloak 3から、Keycloak…
つい先日、待ちに待ったKeycloak 4がいよいよリリースされました。なぜ待っていたかというと、Keycloak 4用の連携モジュールからはSpring Boot 2に正式対応されるからなんですね。(Keycloak 3用の連携モジュールはSpring Boot 1系にしか対応していませんでした。)Keycloak 3の頃からIssueはあがっておりましたが、Keycloak開発チームから、Keycloak 4のリリースと一緒に対応するよ、といった回答がされており、これを待っておりました。 やっと材料が出揃ったということで、さっそくこれらを連携させたサンプルを確認していきたいと思います。実現したいSSOのフローに応じて、2回に分けて書きます。なお、文章はサンプルプロジェクトの内容を追いながら書いていくので、以下も併せて確認してください。 https://github.com/yo100…
概要 Keycloakと、リソースサーバー、リソースクライアント間のSSO検証メモ。(Javascriptクライアント版) すでに検証部分の大半は過去のポストで完了しているため、ここでは主にJavascript版での差分と、Javascriptクライアントからの利用方法を中心に書いていきます。 この手順で使用したコードは、以下に公開しているので、こちらも参考にしてください。 https://github.com/yo1000/kc-resource/tree/e09c1dd987/kc-resource-client-js 要件 環境 今回の作業環境は以下のとおりです。 Java 1.8.0_131 Spring Boot 1.5.9.RELEASE Keycloak 3.4.1.Final NodeJS v8.4.0 NPM 5.6.…