Skip to main content
post-login Actions トリガーの API オブジェクトには、次のものが含まれます。

api.access

ログインするユーザーのアクセス権を変更できます。たとえば、ログイン試行を拒否できます。

api.access.deny(reason)

現在のログイン試行を拒否としてマークします。これにより、エンドユーザーは ログインフローを完了できなくなります。これは、この Action によって要求された、メタデータの 変更などのユーザー関連の副作用を取り消すものではありません。このアクションの完了後、ログインフローは直ちに停止し、 以降の Actions は実行されません。 パラメータ

api.accessToken

発行するアクセストークンを変更するようリクエストします。

api.accessToken.setCustomClaim(key, value)

ログインフローの完了時に発行されるアクセストークンにカスタムクレームを設定します。 パラメータ

api.accessToken.addScope(scope)

ログインフローの完了時に発行されるアクセストークンに、スコープを追加します。 パラメータ

api.accessToken.removeScope(scope)

ログインフローの完了時に発行されるアクセストークンからスコープを削除します。 パラメータ

api.authentication

現在のユーザーのsessionのauthentication状態の変更を要求します。

api.authentication.challengeWith(factor, options)

指定された認証要素と任意の追加認証要素を使用して、多要素認証のチャレンジを要求します。 多要素認証のチャレンジが要求されると、ユーザーがそのチャレンジを完了するまで、後続のActionsは実行されません。ユーザーは、次のいずれかの場合にチャレンジを満たしたと見なされます。
  1. デフォルトの認証要素に対するチャレンジを正常に完了した場合。
  2. additionalFactorsで指定された追加認証要素のいずれかに対するチャレンジを正常に完了した場合。
要求された認証要素のいずれかが現在のトランザクションですでに正常にチャレンジを完了している場合、その認証要素は無視されます。 要求された認証要素がテナントで有効になっていない場合、その認証要素は無視されます。ユーザーが登録していない認証要素が要求された場合も、その認証要素は無視されます。要求された認証要素がいずれも有効になっていない、またはユーザーに登録されていない場合、認証トランザクションは失敗します (つまり、ログインは完了しません) 。
ユーザーがチャレンジの要件をまだ満たしていない場合、このメソッドにより認証要素のチャレンジ画面が表示されます。additionalFactorsが指定されている場合、ユーザーは必要に応じて別の認証要素を選択できます。
Challenge with a specific factor
Challenge with additional factors
Challenge with push notification and disable OTP fallback
パラメータ

api.authentication.challengeWithAny(factors)

指定された認証要素のいずれかを使用して、多要素認証チャレンジを要求します (最初に認証要素選択画面が表示されます) 。 多要素認証チャレンジが要求されると、ユーザーがそのチャレンジを完了するまで、後続のActionsは実行されません。ユーザーは、次のいずれかの状況でチャレンジを満たしたと見なされます。
  1. いずれかの認証要素に対するチャレンジを正常に完了した場合。
要求された認証要素のいずれかが現在のトランザクションですでに正常にチャレンジされている場合、その認証要素は無視されます。 要求された認証要素がテナントで有効になっていない場合は無視されます。ユーザーが登録していない認証要素が要求された場合も無視されます。要求された認証要素がいずれも有効化または登録されていない場合、認証トランザクションは失敗します (つまり、loginは完了しません) 。
ユーザーがチャレンジの要件をまだ満たしていない場合、このメソッドによって認証要素選択画面が表示されます。優先する認証要素がある場合は、api.authentication.challengeWith()メソッドの使用を推奨します。渡される認証要素が1つだけの場合、または有効な認証要素が1つだけの場合は、認証要素選択画面は表示されません。
パラメータ

api.authentication.enrollWith(factor, options)

指定された認証要素と任意の追加認証要素を使用して、多要素認証への登録を要求します。 多要素認証への登録が要求されると、ユーザーがその登録を 完了するまで、後続のActionsは実行されません。 要求された認証要素のいずれかが現在のトランザクションですでに登録済みであるか、チャレンジに正常に応答済みの場合は、 無視されます。 tenantで有効化されていない認証要素が要求された場合は、無視されます。 ユーザーがすでに登録している認証要素が要求された場合は、無視されます。 要求された認証要素のいずれも有効化されておらず、かつ未登録でない場合、認証 トランザクションは失敗します (つまり、ログインは完了しません) 。
Enroll with additional factors
パラメータ

api.authentication.enrollWithAny(factors)

指定された認証要素のいずれかを使用して多要素認証への登録をリクエストします (まず認証要素選択画面が表示されます) 。 多要素認証への登録がリクエストされると、ユーザーが登録を完了するまで、後続のActionsは実行されません。 リクエストされた認証要素のいずれかが現在のトランザクションですでに正常に登録されている場合、その認証要素は無視されます。 テナントで有効化されていない認証要素がリクエストされた場合、その認証要素は無視されます。 ユーザーがすでに登録している認証要素がリクエストされた場合、その認証要素は無視されます。 リクエストされた認証要素のうち、有効化されていて未登録のものが1つもない場合、認証 トランザクションは失敗します (つまり、ログインは完了しません) 。
優先する認証要素がある場合は、api.authentication.enrollWith()メソッドの使用をお勧めします。渡された認証要素が1つだけの場合、または有効な認証要素が1つだけの場合、認証要素選択画面は表示されません。
パラメータ

api.authentication.recordMethod(provider_url)

現在のセッションでカスタム認証方法が完了したことを記録します。この認証方法は、以降のログイン時に event.authentication.methods 配列で利用できるようになります。 重要: この API は、PostLogin Actions の onContinuePostLogin 関数内でのみ使用できます。つまり、api.redirect.sendUserTo() でユーザーを リダイレクトした後、カスタム認証方法の完了を記録するために使用できます。 パラメータ

api.authentication.setPrimaryUser(primary_user_id)

ログイントランザクションのプライマリユーザーを変更します。 ユーザーのリンクが必要なシナリオでは、ログインの開始に使用されたユーザーアイデンティティが、個別のユーザーとして存在しなくなることがあります。そのアイデンティティが、既存ユーザーのセカンダリアイデンティティになっている場合があります。このような場合は、setPrimaryUser() 関数を使用して、ログインのsubjectを変更できます。 重要: 安全でない方法でアカウントをリンクすると、悪意のある第三者が正規のユーザーアカウントにアクセスできる可能性があります。 重要: ログインの認証に使用されるアイデンティティは、primary_user_id で参照されるユーザーのセカンダリアイデンティティのいずれかである必要があります。そうでない場合、ログインは失敗し、tokensは発行されません。 パラメータ

api.idToken

発行される ID トークンを変更します。

api.idToken.setCustomClaim(key, value)

ログインフローの完了時に発行される ID トークンにカスタムクレームを設定します。 パラメータ

api.multifactor

ログイン試行に多要素認証を必須にするか、必須設定を解除します。

api.multifactor.enable(provider, options)

このログインフローで多要素認証を有効にします。有効にすると、ユーザーは設定された 多要素認証チャレンジを完了する必要があります。実際の多要素認証チャレンジは、 ログインフローの最後に実行されます。 パラメータ

api.redirect

外部リダイレクトを設定し、開始します。

api.redirect.encodeToken(options)

クエリ文字列パラメーターとしてリダイレクト先 (sendUserTo 経由) に使用できるsession tokenを作成します。 このtokenには、リダイレクト先のエンドポイントが真正性を証明する必要があるデータが含まれます。リダイレクト先のエンドポイントでは、 共有secretを使用してJWTの署名を検証することで、データの真正性と完全性を 確認できます。 共有secretは、Actionのsecretとして保存する必要があり、 event.secrets['<secret_name>']から読み取れます。 パラメータ

api.redirect.sendUserTo(url, options)

このアクションの完了直後に、ログインパイプラインでブラウザーを対象の url にリダイレクトします。createUrl ヘルパーメソッドを使用すると、対象の url のクエリパラメータとしてデータをエンコードする処理を簡略化でき、対象の エンドポイント でデータの真正性と完全性を検証できます。 パラメータ

api.redirect.canRedirect()

現在のtransactionでユーザーをリダイレクトできるかどうかを示します。oauth2-resource-owneroauth2-refresh-token などの一部のプロトコルでは、ユーザーをリダイレクトできません。prompt=none を含むrequestもリダイレクトの対象外です。

api.redirect.validateToken(options)

/continue エンドポイントに渡された JWT token にエンコードされたデータを取得し、 その真正性と完全性を検証します。 パラメータ

api.user

ログイン中のユーザーのメタデータを変更します。

api.user.setAppMetadata(key, value)

ログイン中のユーザーにアプリケーション固有のメタデータを設定します。 注: このメソッドはコールバック内では使用しないでください。呼び出しても、メタデータはすぐには更新されません。 同じフロー内の複数の Actions でこのメソッドを複数回呼び出すことができ、エンジンが変更を集約して、 フローの完了前にメタデータをまとめて更新します。この関数は、オブジェクト形式のメタデータでのみ使用できます。 パラメータ

api.user.setUserMetadata(key, value)

ログイン中のユーザーの一般的なメタデータを設定します。 注: このメソッドはコールバック内では使用しないでください。このメソッドを呼び出しても、メタデータはすぐには更新されません。 同じフロー内の複数のActionsからこのメソッドを複数回呼び出すことができ、エンジンが変更を集約して、 フローの完了前にメタデータをまとめて更新します。この関数は、オブジェクト形式のメタデータでのみ使用できます。 パラメータ

api.cache

キャッシュを変更します。

api.cache.delete(key)

指定したキーにキャッシュ値を表すレコードが存在する場合は、削除します。 パラメータ

api.cache.get(key)

指定されたキーに対応するキャッシュ値のレコードが存在する場合は、それを取得します。レコードが見つかった場合、キャッシュ値は返されたオブジェクトの value プロパティに格納されています。 パラメータ

api.cache.set(key, value, options)

指定したキーのキャッシュに文字列値を保存または更新します。 このキャッシュに保存される値は、それを設定したトリガーにスコープされます。 また、Actions Cache Limits の制限が適用されます。 この方法で保存された値の有効期間は、指定した ttl または expires_at の値までとなります。有効期間を指定しない場合は、デフォルトで 15 分間となります。有効期間は、Actions Cache Limits に記載されている最大 期間を超えることはできません。 重要: このキャッシュは、短期間のみ使用する一時的なデータ向けに設計されています。指定した有効期間内であっても、 後続のトランザクションでは項目を利用できない場合があります。 パラメータ

api.samlResponse

カスタム SAML 設定と属性を構成します。

api.samlResponse.setAttribute(attribute, value)

認証済みユーザーに発行する SAML assertion に属性を設定します。 パラメータ

api.samlResponse.setAudience(audience)

SAML assertion の audience。 デフォルトは、SAMLRequest の発行者です。 パラメータ

api.samlResponse.setRecipient(recipient)

SAML assertion の受信者 (SubjectConfirmationData) 。 デフォルトでは、SAMLRequest の AssertionConsumerUrl を使用します。SAMLRequest が送信されていない場合は、コールバック URL を使用します。 パラメータ

api.samlResponse.setCreateUpnClaim(createUpnClaim)

UPN クレームを作成するかどうかを指定します。デフォルトは true です。 パラメータ

api.samlResponse.setPassthroughClaimsWithNoMapping(passthroughClaimsWithNoMapping)

true (デフォルト) の場合、共通プロファイルにマッピングされていない各クレームは、出力 assertion にそのまま含まれます。 false の場合、それらのクレームはマッピングされません。 パラメータ

api.samlResponse.setMapUnknownClaimsAsIs(mapUnknownClaimsAsIs)

passthroughClaimsWithNoMapping が true で、この値が false (デフォルト) の場合、共通プロファイルにマッピングされていない各クレームに Auth0 が http://schema.auth0.com というプレフィックスを追加します。 true の場合、クレームはそのまま渡されます。 パラメータ

api.samlResponse.setMapIdentities(mapIdentities)

true (デフォルト) の場合、Provider (Google、ADFS、AD など) や、利用可能な場合はaccess tokenなどの追加情報がtokenに追加されます。 パラメータ

api.samlResponse.setSignatureAlgorithm(signatureAlgorithm)

SAML assertion またはレスポンスの署名に使用する署名アルゴリズム。 デフォルトは rsa-sha256 です。 パラメータ

api.samlResponse.setSignatureAlgorithm(signatureAlgorithm)

パラメータ

api.samlResponse.setDigestAlgorithm(digestAlgorithm)

SAML assertion またはレスポンスのダイジェストを計算するためのダイジェストアルゴリズム。 デフォルトは sha256 です。 パラメータ

api.samlResponse.setDigestAlgorithm(digestAlgorithm)

パラメータ

api.samlResponse.setDestination(destination)

SAML レスポンスの送信先。指定しない場合は、SAMLRequest の AssertionConsumerUrl、SAMLRequest がない場合はコールバック URL になります。 パラメータ

api.samlResponse.setLifetimeInSeconds(lifetimeInSeconds)

トークンの有効期限です。 デフォルトは3600秒 (1時間) です。 パラメータ

api.samlResponse.setSignResponse(signResponse)

SAML レスポンスに署名するかどうかを指定します。 デフォルトではSAML assertionに署名され、SAML レスポンスには署名されません。 trueの場合、SAML assertionではなくSAML レスポンスに署名されます。 デフォルトはfalseです。 パラメータ

api.samlResponse.setNameIdentifierFormat(nameIdentifierFormat)

デフォルト値は urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified です。 パラメータ

api.samlResponse.setNameIdentifierProbes(nameIdentifierProbes)

Auth0 は、この配列内の属性を順に確認します。 値が設定されている属性があれば、その値を Subject/NameID として使用します。 確認順序は次のとおりです。 パラメータ

api.samlResponse.setAuthnContextClassRef(authnContextClassRef)

デフォルト値は urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified です。 パラメータ

api.samlResponse.setSigningCert(signingCert)

SAML リクエストの検証に使用する公開鍵証明書を任意で指定します。 設定した場合、SAML リクエストには署名が必要になります。 値の例: “-----BEGIN CERTIFICATE-----\nMIIC8jCCAdqgAwIBAgIJObB6jmhG0QIEMA0GCSqGSIb3DQEBBQUAMCAxHjAcBgNV\n[..その他の行..]-----END CERTIFICATE-----\n”。 パラメータ

api.samlResponse.setIncludeAttributeNameFormat(includeAttributeNameFormat)

true に設定すると、属性名に基づいて NameFormat を推測します。NameFormat の値には、urn:oasis:names:tc:SAML:2.0:attrname-format:uri、urn:oasis:names:tc:SAML:2.0:attrname-format:basic、urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified があります。 false に設定すると、属性の NameFormat は アサーション に設定されません。 デフォルトは true です。 パラメータ

api.samlResponse.setTypedAttributes(typedAttributes)

true に設定すると、要素の xs:type を推定します。型には xs:string、xs:boolean、xs:double、xs:anyType があります。 false に設定すると、すべての xs:type が xs:anyType になります。 デフォルトは true です。 パラメータ

api.samlResponse.setEncryptionCert(encryptionCert)

SAML アサーションの暗号化に使用する証明書を指定できます。 証明書はサービスプロバイダーから取得してください。 証明書と公開鍵の両方を指定する必要があります。 値の例: “-----BEGIN CERTIFICATE-----\nMIIC8jCCAdqgAwIBAgIJObB6jmhG0QIEMA0GCSqGSIb3DQEBBQUAMCAxHjAcBgNV\n[..all the other lines..]-----END CERTIFICATE-----\n”。 パラメータ

api.samlResponse.setEncryptionPublicKey(encryptionPublicKey)

SAML アサーション の暗号化に使用する公開鍵を任意で指定します。 公開鍵はサービスプロバイダーから取得してください。 公開鍵と証明書の両方を指定する必要があります。 値の例: “-----BEGIN PUBLIC KEY-----\nnMIIC8jCCAdqgAwIBAgIJObB6jmhG0QIEMA0GCSqGSIb3DQEBBQUAMCAxHjAcBgNV\n[..その他のすべての行..]-----END PUBLIC KEY-----\n” パラメータ

api.samlResponse.setCert(cert)

デフォルトでは、Auth0 はテナントに割り当てられた秘密キーと公開鍵のペアを使用して、SAML Responseまたはアサーションに署名します。 非常に限定されたシナリオでは、独自の証明書と秘密キーを指定できます。 証明書と秘密キーの両方を指定する必要があります。 値の例は、“-----BEGIN CERTIFICATE-----\nMIIC8jCCAdqgAwIBAgIJObB6jmhG0QIEMA0GCSqGSIb3DQEBBQUAMCAxHjAcBgNV\n[..その他の行..]-----END CERTIFICATE-----\n” です。 パラメータ

api.samlResponse.setKey(key)

デフォルトでは、Auth0 はテナントに割り当てられた秘密キーと公開鍵のペアを使用して、SAML Response または アサーション に署名します。 ごく限定的なシナリオでは、独自の証明書と秘密キーを指定できます。 この秘密キーは機密情報であるため、Actions の Add Secret 機能を使用することをお勧めします。 詳細については、こちらを参照してください: https://auth0.com/docs/customize/actions/write-your-first-action#add-a-secret 証明書と秘密キーの両方を指定する必要があります。 値の例: "-----BEGIN PRIVATE KEY-----\nnMIIC8jCCAdqgAwIBAgIJObB6jmhG0QIEMA0GCSqGSIb3DQEBBQUAMCAxHjAcBgNV\n[..その他のすべての行..]-----END PRIVATE KEY-----\n" パラメータ

api.samlResponse.setRelayState(relayState)

サービスプロバイダーに戻る際に使用するRelayStateを指定できます パラメータ

api.samlResponse.setIssuer(issuer)

SAMLアサーションの発行者を任意で指定します。 既定値は urn:auth0:TENANT です。 パラメータ

api.samlResponse.setEncryptionAlgorithm(encryptionAlgorithm)

SAMLアサーションの暗号化アルゴリズムを設定します。 デフォルトは aes256-cbc です。
Set the encryption algorithm to aes256-gcm (recommended)
パラメータ

api.samlResponse.setEncryptionAlgorithm(encryptionAlgorithm)

Set encryption algorithm to aes256-cbc (not recommended)
パラメータ

api.validation

バリデーションエラーをスローして、ユーザーのログインを阻止します。

api.validation.error(errorCode, errorMessage)

バリデーションエラーが発生した際にエラーをスローします。 パラメータ

api.rules

現在のトランザクションでルールが実行されたかどうかを確認します。

api.rules.wasExecuted(ruleId)

指定した ID を持つ Rule が現在のトランザクションで実行されたかどうかを確認します。 パラメータ

api.prompt

カスタムプロンプトをレンダリングします。

api.prompt.render(promptId, promptOptions)

カスタムプロンプトをレンダリングします。 パラメータ

api.refreshToken

現在のユーザーのリフレッシュトークンの変更を要求します。

api.refreshToken.revoke(reason)

[Enterprise のお客様] 現在のユーザーのリフレッシュトークンを取り消し、現在のリフレッシュトークン交換の試行を拒否としてマークします。これにより、 エンドユーザーはリフレッシュトークン交換フローを完了できなくなり、現在使用中のリフレッシュトークンも取り消されます。 この Action の完了後、リフレッシュトークン交換フローは直ちに停止し、以降の Actions は実行されません。 このメソッドは、event.transaction.protocol === "oauth2-refresh-token" の場合にのみ、リフレッシュトークン交換フロー中で使用できます。 パラメータ

api.refreshToken.setExpiresAt(absolute)

[Enterprise のお客様] 現在のリフレッシュトークンの新しい絶対有効期限を設定します。 有効期限には、設定で指定されたリフレッシュトークンの最大有効期間を超える値は設定できません。 複数回呼び出された場合は、最も早い有効期限が適用されます。 パラメータ

api.refreshToken.setIdleExpiresAt(inactivity)

[Enterprise のお客様] 現在のリフレッシュトークンに新しいアイドル有効期限を設定します。 有効期限には、設定で指定されたリフレッシュトークンの最大絶対有効期間を超える値を設定できません。 複数回呼び出した場合は、最も早い有効期限が適用されます。 パラメータ

api.refreshToken.setMetadata(key, value)

現在のリフレッシュトークンのメタデータオブジェクトにキーと値のペアを設定します。 パラメータ

api.refreshToken.deleteMetadata(key)

現在のリフレッシュトークンのメタデータオブジェクトからキーを削除します。 パラメータ

api.refreshToken.evictMetadata()

現在のリフレッシュトークンのメタデータオブジェクトからすべてのキーを削除します。

api.session

現在のユーザーのセッションを変更するリクエスト。

api.session.revoke(reason, options)

[Enterprise のお客様] 現在のユーザーセッションを取り消し、現在のログイン試行を拒否としてマークします。これにより、 エンドユーザーはログインフローを完了できなくなり、セッションも取り消されます。この Action の完了後、ログインフローは直ちに 停止し、以降の Actions は実行されません。
Revoke the session while preserving refresh tokens
パラメータ

api.session.setExpiresAt(absolute)

[Enterprise のお客様] 現在のセッションの絶対有効期限を新たに設定します。 有効期限は、テナント設定で設定されている最大セッション有効期間を超えて設定することはできません。 複数回呼び出した場合は、最も早い有効期限が使用されます。 パラメータ

api.session.setIdleExpiresAt(inactivity)

[Enterprise のお客様] 現在のセッションに新しいアイドル有効期限を設定します。 有効期限は、Tenant Settings で設定されているセッションの最大絶対有効期間を超えて設定することはできません。 複数回呼び出した場合は、最も早い有効期限が使用されます。 パラメータ

api.session.setCookieMode(mode)

[Enterprise のお客様] [早期アクセス] 現在のセッションの Cookie モードを設定します。Cookie モードには「persistent」または「non-persistent」 (一時的) を指定できます。 これにより、ブラウザでセッション Cookie をどのように扱うかが決まります。
  • 「persistent」: Cookie は有効期限が切れるか、ユーザーによって削除されるまで保存されます。
  • 「non-persistent」 (一時的) : ブラウザを閉じると Cookie は削除されます。
setCookieMode を複数回呼び出した場合、有効になるのは最後の呼び出しのみです。「non-persistent」を設定した場合、ブラウザを閉じると Cookie は削除されますが、セッション自体は絶対有効期限またはアイドル有効期限に達するか、利用可能な API を通じて取り消されるまで有効です。Cookie モードの詳細については、ドキュメントを参照してください。 パラメータ

api.session.setMetadata(key, value)

[Enterprise のお客様] [早期アクセス] 現在のセッションのメタデータオブジェクトにキーと値のペアを設定します。 パラメータ

api.session.deleteMetadata(key)

[Enterprise のお客様] [早期アクセス] 現在のセッションのメタデータオブジェクトからキーを削除します。 パラメータ

api.session.evictMetadata()

[Enterprise のお客様] [早期アクセス] 現在のセッションのメタデータオブジェクトからすべてのキーを削除します。

api.transaction

トランザクション を変更します。

api.transaction.setMetadata(key, value)

指定したキーのトランザクションメタデータに値を保存または更新します。 このメソッドで変更したメタデータは、 event.transaction.metadata オブジェクトにリアルタイムで反映されます。 パラメータ

api.groups

ユーザーのグループへの所属に関する情報を取得します。

api.groups.getUserGroups(params)

ユーザーが所属するグループのページネーション対応一覧を取得します。 パラメータ

api.groups.hasGroupMembership(groups)

ユーザーが指定したグループのいずれかに所属しているかを確認し、 所属している場合は該当するグループの詳細を返します。 パラメータ

api.roles

ユーザーロールの割り当てに関する情報を取得します。

api.roles.getUserEffectiveRoles(params)

ユーザーに直接、またはグループのメンバーシップを通じて割り当てられたすべてのロールを返します。 必要に応じて組織にスコープを限定し、チェックポイントベースのページネーションを使用できます。
Fetch the first page of roles
Paginate through roles
パラメータ

api.roles.getUserEffectiveRolesByIds(ids)

ユーザーに直接、またはグループのメンバーシップを通じて割り当てられたロールを返します。 必要に応じて組織をスコープに指定し、ロールIDで絞り込めます。
Filter roles by specific IDs
パラメータ

api.roles.getUserEffectiveRolesByNames(names)

ユーザーに直接、またはグループのメンバーシップを通じて割り当てられたロールを返します。 必要に応じて組織にスコープを設定し、ロール名で絞り込むことができます。
Filter roles by specific names
パラメータ