基本概念
- 会社ごとに 1 つの接続。会社が持てるシングルサインオン接続は 1 つで、プロトコルは OpenID Connect、Feishu / Lark、DingTalk、SAML のいずれか 1 つです。このページで前の 3 つのいずれかを保存すると、SAML 接続は置き換えられます(SAML からの切り替えを参照)。
- 検証済みドメインがサインインを振り分けます。DNS レコードで所有を証明したメールドメインだけが、プロバイダーへ誘導されます。
- 招待が先。シングルサインオンがアカウントを自動で作成することはありません。サインインできるのは、既存のメンバーか、会社からの保留中の招待を承諾した人だけです。
- リンクされたアカウント。最初のサインインに成功すると、プロバイダーのアカウントが Alforse の担当者にリンクされます。以降のサインインでは、そのリンクが直接使われます。
始める前に
- 権限。会社設定を変更する権限(
settingsの update)が必要です。権限がないと、ページには “Administrators only”(管理者のみ)と表示されます。 - 利用可否。シングルサインオンが契約に含まれていない場合、ページには “Single sign-on isn’t in your plan”(シングルサインオンはご契約のプランに含まれていません)と表示されます。
- プロバイダー側の権限。ID プロバイダーでアプリケーションを作成する権限が必要です。Feishu / Lark のオープンプラットフォームではカスタムアプリ、DingTalk の開発者コンソールでは社内アプリ、IdP では OIDC の Web アプリケーションです。
- DNS の操作権限。メールドメインごとに TXT レコードを公開します。
Single Sign-On ページを開く
- https://app.alforse.com で ERP にサインインします。
- 同じブラウザーで https://api.alforse.com/identity を開きます。
Identity Provider カード
Connect(既存の接続では Save changes)を選択します。Alforse は保存の前にプロバイダーに対して設定を確認し、“Single sign-on saved”(シングルサインオンを保存しました)と表示します。
Redirect URI
どのプロバイダーのアプリケーションも、次の 1 つのリダイレクト(コールバック)URI を使う必要があります。プロバイダーを設定する
- Feishu / Lark
- DingTalk
- OpenID Connect
Feishu オープンプラットフォーム(https://open.feishu.cn。Lark の場合は https://open.larksuite.com)で行う手順:
- カスタムアプリ(企業自建应用)を作成します。
- Credentials & Basic Info で、App ID と App Secret をコピーします。
- Security Settings → Redirect URLs に、上記の Redirect URI を追加します。
- Permissions で、次を許可します。
- ユーザーの基本情報の読み取り(必須)
- ユーザーの企業メールの読み取り(メールアドレスで担当者を照合するため)
- テナント情報の読み取り(Alforse で Tenant key を空のままにする場合)
- バージョンを作成し、サインインさせたい人にアプリを公開します。
- 検証済みと見なされるのは、Feishu テナントが発行した企業メールだけです。ユーザーが自分のプロフィールに入力したアドレスは、照合には使われません。
- 企業メールを持たない人は、サインインリンクで一度だけ接続します。
メールドメインを検証する
接続を保存したら、メンバーがサインインに使うドメインを、Email Domains カードで 1 つずつ追加します。Add a domain の下にドメイン(例:example.com)を入力し、Add を選択します。追加直後のドメインは Pending で、公開すべき TXT レコードが表示されます。
DNS プロバイダーでこのレコードを公開してから、Verify を選択します。成功するとドメインは Verified になり、ページに “Domain verified”(ドメインを検証しました)と表示されます。ルールは SAML と同じです。ドメインの検証を参照してください。
サインインを担当者と照合する仕組み
メンバーは、ERP のログインページで業務用メールアドレスを入力し、Continue を選択してサインインします。検証済みドメインのメールアドレスであれば、プロバイダーへ誘導されます。プロバイダーから戻ると、Alforse は貴社の中だけを対象に、次の順序で照合します。- リンク済みアカウント。プロバイダーのアカウントがすでに担当者にリンクされている場合:その担当者としてサインインします。
- 検証済みメール。プロバイダーが、貴社の検証済みドメインのいずれかに属する検証済みメールアドレスを返した場合:一致する有効なメンバーはサインインし、一致する保留中の招待は承諾されてそのロールが適用されます。その後、アカウントがリンクされます。
- サインインリンク。発行したワンタイムのサインインリンクを担当者が開いた場合:アカウントは、そのリンクの対象となったメンバーまたは招待にリンクされます。
サインインリンク
プロバイダーがメールアドレスを証明できない担当者(DingTalk のすべての人と、企業メールを持たない Feishu のユーザー)を接続するには、Sign-in Links カードを使います。- Pending invitation を選ぶか、Or an existing member’s email に入力します。
- Create link を選択します。
- Sign-in link created ダイアログからリンクをコピーし、ご自身で担当者に送ります。
https://api.alforse.com/api/web/auth/v1/sso/oauth/invite?token=… のような形式です。担当者がこれを開いてプロバイダーでサインインすると、アカウントがリンクされ、以降は通常どおりサインインできます。
- 表示は一度だけ。リンクはそのダイアログにしか表示されません。紛失した場合は、取り消して新しく作成してください。
- 1 回限り、7 日間有効。表には、各リンクの For、Status(Open、Used、Revoked、Expired)、Expires が表示されます。未使用のリンクは Revoke で取り消せます。
- 検証済みドメインが必要。招待またはメンバーのメールアドレスが、接続の検証済みドメインに属している必要があります。
- サインインリンクは OpenID Connect、Feishu / Lark、DingTalk の接続で利用でき、SAML では利用できません。
リンクされたアカウント
Linked Accounts カードには、すべてのリンクが Person、Provider account、Linked by(Verified email または Sign-in link)、Linked の列で一覧表示されます。Revoke を選択するとリンクが削除されます。担当者の Alforse アカウントは残ります。次回のサインインでは、検証済みメールで再び照合されるか、新しいサインインリンクが必要になります。シングルサインオンを必須にする
Require single sign-on をオンにすると、検証済みドメインのメンバーにとって、貴社のプロバイダーが唯一のサインイン方法になります。マジックリンクなど、ほかのサインイン方法は拒否されます。このスイッチは、少なくとも 1 つのドメインが検証されてから有効になるため、必須にする前にサインインをテストできます。SAML からの切り替え
会社がすでに SAML を使っている場合、カードには “Your company currently signs in with SAML. Saving another provider here replaces it.”(現在、会社は SAML でサインインしています。ここで別のプロバイダーを保存すると、置き換えられます。)と表示されます。- OpenID Connect、Feishu / Lark、DingTalk のいずれかの接続を保存すると、接続から SAML の設定(IdP メタデータ)が削除されます。その時点で SAML でのサインインは止まります。
- メールドメインとその検証、および Require single sign-on は、そのまま残ります。
- SAML 以外の接続が有効な間は、Settings → Security の SAML カードを保存できません。先にこのページで接続を無効化してください。