19
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

日立製作所 中村 雄一

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会議に参加し議論することもできます。

19
3
0

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
  3. You can use dark theme
What you can do with signing up
19
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?