0LINEはじめにkotlinの環境構築〜API作成〜APIへの認証機能付加までを検証をしたので手順をまとめました。Bootで作成したRestAPIを保護、SPAにKeycloakのSSO機能でログイン機能を追加、OIDCやOAuth2.0の違い解説などなどをまとめたまとめ記事を作りました。Boot+KotlinでHelloWorldkeycloakのセットアップをする以下の記事に、keycloakとは??というところからkeycloakのセットアップについてまとめているので参考にセットアップしてください。Javaで実施しており、APIを保護する際のkeycloak側の設定、API側の設定のポイントについてそれぞれ解説しているので参考にして頂ければと思います。APIに認証機能を付与するのに必要なライブラリをgradleの依存関係に追加設定>>github該当箇所keycloak連携(トークンイントロスペクションエンドポイントへのアクセス)に必要な情報をapplicationプロパティに設定>>github該当箇所APIが動く前にkeycloakのトークンイントロスペクションへ連携してアクセストークンの検証を行うようconfig設定追加>>github該当箇所ソースコードはgithubに公開しているので、IntelliJにkotlin-demoをインポートして動作確認することも可能です。securityとkeycloakで保護できているか動作確認してみるでは、動作確認していきます。IntelliJでgradle>kotlin-demo>Tasks>application>bootRunから起動APIを起動し、docker-composeでkeycloakも起動してください。(keycloak立ち上げの手順は>>READMEを参照ください。)healthエンドポイントはアクセストークンなしで呼び出せることの確認chromeなどのブラウザでhttp://localhost:8081/healthへアクセスします。こんな感じになればOKです。helloエンドポイントはアクセストークンなしだと401エラーになることの確認(保護されることの確認)chromeなどのブラウザでhttp://localhost:8081/helloへアクセスします。こんな感じになればOKです。Testerなどを使って(curlコマンドでも大丈夫です)まず、keycloakからfrontendクライアントを利用してsample001ユーザに対してアクセストークンを発行してもらいます。返却されたレスポンスのaccess_tokenをコピーします。APIをコールすると正しくレスポンスが返却されます。こんな感じになればOKです。」の後ろに貼り付けたアクセストークンを適当にちょっと変更(アクセストークンを偽造)してAPIを呼び出します。こんな感じになればOKです。active)となることが確認できます。アクセストークンを偽造したらちゃんと保護されます。まとめkotlinの環境構築〜API作成〜認証機能付与までを今回は実施しました。以前javaで実施内容をkotlinで書き換えるだけでしたが、すんなり行けることがわかりました。kotlinでアプリケーションを作る際にも認証まわりの設定は必要だと思います。参考になれば幸いです。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。