自前構築 OIDC から Lurus Auth へ移行する
企業がすでに IdP(Keycloak / Auth0 / Okta / Azure AD)を保有しており、従業員には引き続き会社アカウントでログインしてもらいつつ、ID レイヤーを Lurus に委ねたい場合に対応します。
2 つの戦略
企業 IdP のユーザーライフサイクルだけを管理し、Lurus 製品は OIDC フェデレーションで ID を読み取ります。
既存の Keycloak/Auth0 を SCIM で Lurus Auth(Casdoor)へエクスポートし、唯一の真実の源とします。
戦略 A — フェデレーション構成
graph LR
IDP[企業 IdP 既存] -->|OIDC フェデレーション| LA[Lurus Auth]
LA --> P[すべての Lurus 製品]戦略 B — 移行構成
graph LR
KC[既存 Keycloak/Auth0] -->|SCIM エクスポート| LA[Lurus Auth · Casdoor]
LA --> D[すべての下流]戦略 A の手順(推奨)
Lurus コンソールでフェデレーション接続を作成する —
identity.lurus.cnにアクセス → 企業設定 → ID プロバイダー → 新規作成 → OIDC を選択。企業 IdP の以下を入力します:- Issuer URL
- Client ID
- Client Secret
- コールバック URL(Lurus が提示)
Claim マッピング — 企業 IdP の属性を Lurus ユーザーにマッピングします。
yaml# 将企业 IdP 的属性映射到 Lurus 用户 email: email display: name department: department # custom claim段階的展開 — 企業 IdP 側でまず 5% の従業員に Lurus ログインボタンの使用を許可します。1 週間検証 → 全従業員へ開放します。
戦略 B の手順
SCIM をエクスポートする — Keycloak からユーザーを JSON でエクスポートします:
bash./kcadm.sh get users -r myrealm --fields username,email,firstName,lastName -f json > users.jsonLurus へ一括インポートする
POST/admin/v1/scim/users:batchImportユーザーを一括インポート(identity.lurus.cn)bashcurl -X POST https://identity.lurus.cn/admin/v1/scim/users:batchImport \ -H "Authorization: Bearer $ADMIN_TOKEN" \ -H "Content-Type: application/json" \ -d @users.jsonパスワードポリシー — Lurus はデフォルトでパスワードを移行しません(ハッシュ非互換)。初回ログイン時に「パスワードを忘れた」フローを強制します。SSO フェデレーションを利用する場合はパスワード移行は不要です。
SSO フェデレーションのメリット
アカウントのライフサイクルは完全に企業側にあります。
企業 IdP で無効化 → Lurus も即座にログイン不可になります。
ログインログは企業 IdP 側に集約されます。
企業の既存 MFA ポリシーがそのまま適用されます。
よくある質問
セッションは競合しますか?
Lurus は独立した session cookie を使用するため、既存システムには影響しません。
PAT / JWT は保持できますか?
できます。API レベルの Token は SSO 移行の影響を受けません。
監査ログはどうエクスポートしますか?
すべての ID イベントは、以下のエンドポイントから一括エクスポートできます:
/admin/v1/audit:exportID イベントを一括エクスポート