search
LoginSignup
3

More than 1 year has passed since last update.

KeycloakのFAPI-SIGについて

日立製作所 中村 雄一

OpenID Foundationで策定が進むプロファイルである「Financial-grade API(FAPI)」へのKeycloakの対応のための開発を筆者のチームで進めています。昨年度の活動状況はこちらの記事に紹介しています。その後、Keycloakコミュニティの中でもFAPI対応への関心が高まり、日立の 乗松さんを技術リーダーとしてFAPI-SIG(Special Interest Group)が立ち上がりました。Keycloakコミュニティでは初となるSIGとなります。本記事ではFAPI-SIGを紹介します。

FAPI-SIGの活動概要

FAPI-SIGの活動は、GithubのKeycloak Project配下の、kc-sig-fapiリポジトリで実施されています。活動状況はオープンで、Projectタブを見ると開発の進捗もわかるようになっています。記事執筆現在、FAPI Certificationの取得に向けた活動、CIBAの対応のための開発、Client Policyのエンハンス、が行われています。

FAPI Certificationの取得

OpenID FoundationのFAPI Conformance Testをパスし、FAPI Certificationの取得を目的として、テスト環境の整備と自動化のための試みが行われています。テストの実行の仕方もkc-sig-fapiリポジトリのトップページに記載されています。記事執筆時点で、Conformance Testを開発環境でパスすることができるようになっています。

CIBAへの対応

OAuthのフローの中で認証デバイスを分離する規格である、FAPIのCIBA(Client Initiated Backchannel Authentication)プロファイルへの対応を目的としたプロジェクトです。開発規模が大きくなるため、作業リポジトリを設け、5人ほどの開発者によって分担して開発が順調に進んでいます。

Client Policyのエンハンス

KeycloakがFAPIに対応した機能を備えたとしても、設定・運用面で問題があります。例えば、KeycloakをFAPI用に設定しようとする場合、従来のKeycloakでは、全部のクライアントに対してFAPIが設定されてしまいますので、FAPIを使いたくないクライアントがある場合に困ります。またFAPIを設定する場合も設定項目が膨大で設定が大変です。
 このような問題を解決するために、Client Policyというクライアント単位の設定のためのフレームワークが乗松さんを中心に開発され、Keycloak 12より取り込まれています。本フレームワークの概要については、こちらの講演資料を参照ください。このClient PolicyはKeycloak 12では隠し機能の状態であり、これを使えるようにするためのREST APIや画面の整備、またClient Policyの設定部品の整備も進められています。

参加するには

FAPIの仕様は日々エンハンスされていますので、Keycloak側でも継続な対応が必要になってきますので、開発協力者が常に求められる状況にあります。開発に興味がある方は、kc-sig-fapiリポジトリのIssueをウォッチし、自分でも手を上げられそうなものに参加するとよいでしょう。また、Web会議の予定と議事録もFAPI-SIGディレクトリで公開されており、Web会議に参加し議論することもできます。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
3