コンテンツにスキップ

SSO で困ったとき

組織のオーナーと管理者が、SSO のログインや接続の設定が失敗したときに、原因を絞り込むためのページです。 Actagate は IdP の応答や内部のエラーをそのまま表示せず、理由コードと説明を出します。表示された場所 (ログイン画面、設定画面、ログイン方法) の表で探してください。

失敗したログインは、監査ログに auth.failed として、理由コードと channel (sso:<プリセット ID>) とともに残ります。接続のテストの結果は sso.connection_tested に残ります。

ログイン画面に出るメッセージ

Section titled “ログイン画面に出るメッセージ”

ログイン画面では、理由コードの代わりに次のメッセージが出ます。理由コードは URL の error= の値で確かめられます。

理由コード 表示 対処
test_required SSOの設定が変更されました。ログインをやり直してください。 ログインの途中で接続の設定が変わったか、接続が下書きに戻りました。管理者が接続をテストして有効化してから、ログインをやり直します
invalid_callback ログイン応答を検証できませんでした。もう一度お試しください。 ログインを始めてから 10 分を過ぎたか、別のブラウザーで戻りました。最初からやり直します
issuer_mismatch、invalid_identity シングルサインオンで本人を確認できませんでした。もう一度試すか、管理者に連絡してください。 ID トークンの issuer か利用者の ID が合いません。管理者が接続の設定を確かめます
invalid_connection このログイン接続は利用できません。 接続が無効か、見つかりません。管理者が接続の状態を確かめます
not_registered この Slack ユーザーは利用者台帳に登録されていません。 招待されていないか、アカウントが無効です。IdP の検証済みメールアドレスが届かない場合も、この表示になります。管理者がメンバーの招待とメールアドレスを確かめます
link_requires_login 管理者のログイン方法を追加するには、先に既存の方法でログインしてください。 オーナーと管理者は、ログインしていない状態から SSO を紐づけられません。既存の方法でログインし、「設定」の「ログイン方法」で追加します
identity_conflict このメールアドレスには別の ID が紐づいています。組織の管理者にお問い合わせください。 そのメンバーには、同じ接続の別の IdP アカウントが紐づいています。管理者に連絡します
domain_forbidden このメールアドレスのドメインではログインできません。 組織で許可していないメールドメインです
ip_forbidden このネットワークからはログインできません。 組織で許可していないネットワークからのアクセスです
sso_required この組織ではSSOでログインしてください。 SSO が必須なので、メールのリンクと Slack ではログインできません。ログイン画面の SSO のボタンを使います
tenant_forbidden この Microsoft テナントは許可されていません。 「許可する Microsoft テナント ID」にないテナントです
email_unverified Google のメールアドレスが確認されていません。 Google 側でメールアドレスを確認します
hosted_domain_forbidden この Google アカウントのドメインは許可されていません。 「許可する Google Workspace ドメイン」にないドメインです
saml_browser_mismatch ログインを開始したブラウザーでやり直してください。 SAML のログインを、始めたブラウザーで最初からやり直します

上の表にない理由コード (authentication_failed や、saml_ で始まるコードなど) では、「Slack ログインを完了できませんでした。もう一度お試しください。」と表示されます。SSO で失敗した場合もこの文言です。管理者は監査ログの auth.failed で理由コードを確かめ、下の表で対処を探します。

接続の保存、テスト、有効化、無効化に失敗すると、「シングルサインオン」の上に説明と理由コードが出ます。

理由コード 意味と対処
invalid_issuer Issuer URL がプリセットの形式に合いません。Okta の独自ドメインなら「汎用 OIDC」を選びます
unsafe_endpoint HTTPS でないか、社内ネットワーク向けのアドレスを指す URL です。インターネットに公開された HTTPS の URL を使います
invalid_oidc_configuration 表示名、issuer、クライアント ID、シークレットのどれかが足りません。または discovery のエンドポイントが HTTPS の URL ではありません
issuer_locked 利用者がこの接続でログインした後は、issuer を変更できません。新しい接続を追加します
encryption_unavailable SSO_SECRET_ENCRYPTION_KEY が未設定か、保存時と違う鍵です。運用担当者に確かめます。鍵を替えた場合は、クライアントシークレットを入れ直してテストし直します
discovery_failed IdP の discovery を取得できません。Issuer URL を確かめます
issuer_mismatch discovery の issuer が、入力した issuer と一致しません
pkce_unsupported IdP が PKCE (S256) に対応していません
unsupported_client_auth IdP のクライアント認証方式が client_secret_post でも client_secret_basic でもありません
provider_unavailable IdP に接続できません。タイムアウト、リダイレクト、大きすぎる応答を含みます。時間をおいて試します
provider_rejected IdP がサインインを拒否しました。アプリの割り当てとコールバック URL を確かめます
token_exchange_failed IdP からトークンを取得できません。クライアント ID とシークレットを確かめます
id_token_invalid ID トークンの署名、issuer、audience、有効期限、nonce のどれかが合いません。Issuer とクライアント ID を確かめます
invalid_identity ID トークンに利用者の ID (sub) がありません
invalid_callback テストの要求が無効か、10 分の期限を過ぎました。テストを始めた管理者のセッションのまま、もう一度テストします
test_required いまの設定でテストに成功していません。テストの途中で設定を変えた場合もこのコードです。テストしてから有効化します
invalid_connection 接続が見つかりません
authentication_failed 上のどれにも当たらない失敗です。接続の設定を見直します

SAML の接続では、次のコードも出ます。

理由コード 意味と対処
saml_invalid_xml XML を読み取れません。DOCTYPE や ENTITY の宣言を含むか、256 KiB を超えています
saml_invalid_metadata IdP メタデータを確かめます。HTTPS の HTTP-Redirect の SSO URL と、1 本か 2 本の署名証明書が必要です
saml_invalid_response SAML レスポンスを検証できません。アサーションの署名、SHA-1 を使っていないこと、有効期限が 10 分以内であることを確かめます
saml_destination_mismatch レスポンスの送信先が ACS URL と一致しません
saml_recipient_mismatch アサーションの受信先が ACS URL と一致しません
saml_request_mismatch 有効なログイン要求が見つかりません。ログインを最初からやり直します
saml_relay_state_mismatch RelayState がログイン要求と一致しません
saml_idp_initiated IdP 起点のログインが許可されていません
saml_assertion_replayed このアサーションは使用済みです。ログインを最初からやり直します
saml_transient_nameid NameID が transient です。persistent にします
saml_expired アサーションの有効期間外です。IdP とサーバーの時計を確かめます
saml_browser_mismatch ログインを始めたブラウザーでやり直します

ドメインの検証と SSO の必須化で出る理由コード

Section titled “ドメインの検証と SSO の必須化で出る理由コード”
理由コード 意味と対処
invalid_domain ドメインの形式を確かめます
domain_taken 別の組織がこのドメインを検証済みです。同じドメインを検証済みにできるのは 1 つの組織だけです
dns_not_found TXT レコードが見つかりません。名前が _actagate-challenge.<ドメイン> か、DNS に反映されたかを確かめます
token_mismatch TXT レコードの値が、表示された actagate-domain-verification=<トークン> と一致しません
dns_error DNS の確認に失敗しました。時間をおいて「確認する」を押します
enforcement_active SSO が必須の間は、最後の有効な接続を無効にできません。先に「SSOを必須にする」を外します
no_active_connection SSO を必須にするには、有効な接続が必要です
not_signed_in_with_sso 操作する管理者自身が、有効な接続で SSO ログインしてから必須にします。テストやログイン方法の追加だけでは条件を満たしません

SSO を必須にしたあと IdP の障害で誰もログインできなくなったら、オーナーがメールのリンクでログインして必須化を外します。

ログイン方法の追加で出るメッセージ

Section titled “ログイン方法の追加で出るメッセージ”

「設定」の「ログイン方法」で「<接続名> を追加」を押したあとに出ます。

結果 表示 対処
identity_conflict この入口はすでに別のアカウントに登録されています。 その IdP アカウントは別のメンバーに紐づいています。管理者に連絡します
invalid_callback 本人確認に失敗しました。もう一度お試しください。 同じブラウザーとセッションのまま、もう一度追加します
invalid_connection この接続は現在使えません。 接続が無効か、見つかりません
last_identity 最後のログイン方法は外せません。 別のログイン方法を追加してから外します