プロジェクトの構成
Nogiku の全体像
Nogiku(のぎく)は、委員会システムが用いる委員共通の認証・認可基盤です。
一人ひとりの委員にアカウントを作成し、委員は連携先の内製システムにシングルサインオンすることができます。
このプロジェクトには、以下の 3 システムが同梱されています。
- Nogiku Auth:アカウント発行を担う Nogiku のコアシステムです。SSO や二要素認証をサポートします。
- Nogiku Access:組織・役職・グループ・権限等を集中的に管理するシステムです。
- Nogiku Doc:利用者や開発者向けのドキュメンテーションサイトです。
委員会システムで Nogiku アカウントによる SSO をサポートするには、Nogiku Auth を使用します。
また、権限管理も Nogiku に委ねる場合は Nogiku Access をあわせて使用します。Nogiku Access API への権限問い合わせには、Nogiku Auth が発行するアクセストークンが必要です。
Nogiku Auth と Nogiku Access
Nogiku の歴史上の理由から二つ一緒に管理されていますが、現在のところ、認証基盤を提供する Nogiku の本体は Nogiku Auth です。
権限管理機能を提供する Nogiku Access は、OAuth / OpenID Connect の仕組みに則って Nogiku Auth に連携(as a Relying Party + Resource Server)ができるだけの別システムである点に注意してください。
リポジトリ構成
このプロジェクトは、複数のリポジトリを1箇所に管理する monorepo 構成です。
構成
apps/*:独立したプロセスとして機能し、外部に公開されるものを配置しています。workers/*:独立したプロセスとして機能するものの、外部に公開せずに内部的な処理を行うものを配置しています。packages/*:独立したプロセスとしては機能せず、apps/*workers/*から使用されるモジュールを配置しています。
apps
apps/auth:Nogiku Auth(フルスタック)apps/access-studio:Nogiku Access のフロントエンドapps/access-engine:Nogiku Access のバックエンドと外部向け APIapps/doc:Nogiku Doc