Hekate
はGo言語で記述されたOpenID Connectに対応したシンプルな認証・認可サーバです。
ユーザー管理と認証・認可処理を実行できます。
OpenID Connectのことを知らなくても簡単にスケーラブルな認証・認可を行えるシステムを目指しています。
OpenID Foundationの公式テストのbasic certification test planをパスしました。
結果: https://www.certification.openid.net/plan-detail.html?plan=AYsfCxrGGu0zr&public=true
-
All In One環境の構築
- server, portalを起動
# SERVER_ADDRはアクセスしたい場所からアクセスできるアドレスにしてください。 export SERVER_ADDR=localhost # この値を指定していない場合はデフォルトの値(admin/password)が使用されます export ADMIN_NAME=admin export ADMIN_PASSWORD=password # デフォルトのport番号以外をbindingする際は、以下の値もdocker起動時に環境変数で指定する必要があります # SERVER_PORT <- API_SERVER側のポート番号を変更したい場合 # PORTAL_PORT <- PORTAL側のポート番号を変更したい場合 docker run -d --name hekate \ -p 3000:3000 -p 18443:18443 \ -e SERVER_ADDR=$SERVER_ADDR \ -e HEKATE_ADMIN_NAME=$ADMIN_NAME \ -e HEKATE_ADMIN_PASSWORD=$ADMIN_PASSWORD \ smiyoshi/hekate:all-in-one
- https://localhost:3000へアクセス
- Serverはすぐに起動しますが、Portalの起動には1分程度かかります。そのためアクセスできない場合は、少し時間をおいてからアクセスしなおしてください。
-
コンポーネントごとにインストール
- Kubernetesを使用してインストール: docs/install/kubernetes.md
- APIレベルでのアクセス制御
- 自身のサーバのアクセスをHekateの認証・認可機能と組み合わせて柔軟に制御できます
- 3 minutes Quick Start: docs/quick_start/access_control.md
- ユーザー管理
- Hekateの認証機能と組み合わせて、自身のアプリケーションにおけるユーザーの新規追加・ログイン処理を簡単に実装できます
- 3 minutes Quick Start: docs/quick_start/user_manage.md
hekateではユーザー認証の際、server上のログイン画面を表示します。
このログイン画面をカスタマイズし任意の画面を設定できます。
詳細はこちら
- golang v1.12以上
- MongoDB 4.0以上(※Mongo DBを使用する場合)
api/api.htmlを参照してください。
TODO Listを参照してください。
Shunsuke Miyoshi