api.access
ログイン試行の拒否などでユーザーのログインアクセスを修正します。
api.access.deny(reason)
現在のログイン試行を「拒否」としてマークします。これによりエンドユーザーがログインフローを完了できなくなります。ただし、このアクションから要求されたユーザー関連の他の副次的な影響(メタデータの変更など)はキャンセルしません。 このアクションの完了後、ログインフローはすぐに停止し、以降のアクションは実行されません。
apiオブジェクトにリファレンスを返します。
api.accessToken
発行されたアクセストークンを変更する要求。
api.accessToken.setCustomClaim(name, value)
ログインフローの完了に発行されるアクセストークンへのカスタムクレームを設定します。
apiオブジェクトにリファレンスを返します。
api.accessToken.addScope(scope)
ログインフローの完了に発行されるアクセストークンへのスコープを追加します。
apiオブジェクトにリファレンスを返します。
api.accessToken.removeScope(scope)
ログインフローの完了に発行されるアクセストークンへのスコープを削除します。
apiオブジェクトにリファレンスを返します。
api.authentication
現在のユーザーセッションの認証状態の変更を要求します。
api.authentication.recordMethod(provider_url)
現在のセッションで完了したカスタム認証メソッドを示します。このメソッドは、後続のログインのevent.authentication.methods配列で可能になります。
重要 :この API はPostLoginActions のonContinuePostLogin 機能でのみ可能です。言い換えると、これはapi.redirect.sendUserTo()を介してユーザーをリダイレクトした後、カスタム認証メソッドの完了を記録するために使用できます。
apiオブジェクトにリファレンスを返します。
api.authentication.challengeWith(factor, options)
1 つ以上の指定された多要素認証の要素でユーザーチャレンジを行います。このメソッドは、まずデフォルトのオプションでチャレンジし、追加の要素が提供された場合にはユーザーが異なるオプションを選択できるようにします。ユーザーが、提供されたどの要素でも登録していない場合(デフォルトと追加要素の両方を含む)、コマンドは失敗します。
注意 :このメソッドは、テナント内で MFA を有効または無効にする既存のポリシーやルールを上書きします。
api.authentication.challengeWithAny(factors)
MFA チャレンジをトリガーし、ユーザーに提供されたリストから好みのファクターを選択させます。このメソッドは、次の条件に従って、ユーザーに特定のチャレンジではなく、ファクターピッカーを提示します:
- 複数のファクターが指定された場合、ファクターピッカーはユーザーに表示されます。
- ユーザーが指定ファクターの 1 つでのみに登録されている場合(またはファクターが 1 つだけ指定されている場合)、ファクターピッカーはスキップされます。
- ユーザーがどの指定ファクターでも登録していない場合、チャレンジコマンドは失敗します。
api.authentication.enrollWith(factor, options)
ユーザーが特定の MFA ファクターで登録するようにします。このメソッドは、ユーザーがデフォルトのファクターで登録するように最初は促しますが、追加の要素が提供された場合にはユーザーが異なるオプションを任意で選択できるようにします。ユーザーが提供されたすべてのファクター(デフォルトの値と追加要素の両方を含む)で登録済みの場合には、コマンドは失敗します。
注意 :このメソッドは、テナント内で MFA を有効または無効にする既存のポリシーやルールを上書きします。
api.authentication.enrollWithAny(factors)
ユーザーに提示リストから登録に使う MFA ファクターを選択させます。このメソッドは、次の条件に従って、ユーザーにデフォルトのファクタープロンプトではなく、ファクターピッカーを提示します:
- 複数のファクターが指定された場合、ファクターピッカーがユーザーに表示されます。
- ユーザーが 1 つを除く他のすべての提示ファクターで登録済みの場合は、ファクターピッカーはスキップされ、ユーザーは残りのファクターで登録するように促されます。
- ユーザーが提供されたすべてのファクターで登録済みの場合には、コマンドは失敗します。
api.authentication.setPrimaryUser(primary_user_id)
ログイントランザクションのプライマリユーザーを変更します。ユーザー連携を必要とするシナリオでは、ログインを始めるために使用するユーザー ID は、もはや個別のユーザーとして存在しないことがあります。そのような ID は既存ユーザーのセカンダリアイデンティティーになります。そのような状況では、setPrimaryUser()関数を使用して、ログインの対象を変更することができます。
重要:
- セキュリティの脆弱性をもたらすことなくアカウントをリンクすることで、悪意のあるアクターが正当なユーザーアカウントにアクセスできるようになる可能性があります。したがって、テナントはリンクが行われる前に両方のアカウントの認証を要求すべきです。
- ログインの認証に使用される ID は、
primary_user_idで参照されるユーザーのセカンダリ ID の中に含まれている必要があります。ログインは失敗し、その結果トークンは発行されません。
api.cache
実行間で維持されるデータの保管と取得を行います。
api.cache.delete(key)
提供された key にキャッシュ済みの値が存在する場合は、それを記述したレコードを削除します。
値がキャッシュから削除されると、CacheWriteResultオブジェクトにtype: "success"を含めて返します。操作に失敗すると、type: "error"を返します。エラーの場合には、返すオブジェクトにcodeプロパティを含めて、失敗の詳細を示します。
api.cache.get(key)
提供されたkeyにキャッシュ済みの値が存在する場合は、それを記述したレコードを取得します。レコードが見つかった場合には、返されたオブジェクトのvalueプロパティにキャッシュ済みの値があります。
提供されたkeyにキャッシュ済みの項目が存在する場合は、それを記述したレコードを返します。キャッシュレコードは、キャッシュされた値のあるvalueプロパティと、レコードの最大有効期限を UNIX エポックからのミリ秒単位で示すexpires_atプロパティを含むオブジェクトです。
重要: このキャッシュは、短命で一時的なデータ向けに設計されています。項目が所定のライフタイム内であったとしても、後のトランザクションでは利用できないかもしれません。
api.cache.set(key, value, [options])
指定された key のキャッシュに文字列値を保管または更新します。
このキャッシュに保管された値は、それを設定するトリガーにスコープが限定されます。これはアクションのキャッシュ制限の対象になります。
このように保管された値には、指定されたttlまたはexpires_at値までのライフタイムがあります。ライフタイムが指定されない場合には、デフォルトのライフタイムである 15 分が使用されます。ライフタイムはアクションのキャッシュ制限が定める最大値を超過してはいけません。
値の保存に成功すると、CacheWriteSuccessを返します。成功しなかった場合はCacheWriteErrorを受け取ります。
api.idToken
発行された ID トークンを変更する要求。
api.idToken.setCustomClaim(name, value)
ログインフローの完了時に発行される ID トークンへのカスタムクレームを設定します。
apiオブジェクトへの参照を返します。
api.multifactor
ログイン試行でも多要素認証のための要件を設定します。
api.multifactor.enable(provider, options)
このログインフローの多要素認証を有効にします。有効にした場合、ユーザーは設定された多要素認証チャレンジを完了する必要があります。実際の多要素認証チャレンジは、ログインフローの終了時に延期されます。
apiオブジェクトにリファレンスを返します。
api.user
ログインしているユーザーのメタデータに対してアプリケーション固有の変更を行います。
注意: これらのメソッドを呼び出しても、即座にメタデータのアップデートは行われません 。同じフローの複数アクションから複数回呼び出すことができます。またエンジンは変更を集約し、 フローが完了する前にメタデータを一度に更新します 。
api.user.setAppMetadata(name, value)
ログインしているユーザーに対してアプリケーションメタデータを設定します。app_metadata に保存されたデータは、ユーザーが編集することはできません。
注意:このトリガーは Management API を呼び出し、Management API レート制限を消費します。この要求がレート制限に達し、タイムアウト制限時間内に再試行できなかった場合は、Deadline Exceededエラーを受け取ります。
apiオブジェクトへの参照を返します。
api.user.setUserMetadata(name, value)
ログインしているユーザーの一般メタデータを設定します。
注意:このトリガーは Management API を呼び出し、Management API レート制限を消費します。この要求がレート制限に達し、タイムアウト制限時間内に再試行できなかった場合は、Deadline Exceededエラーを受け取ります。
apiオブジェクトへの参照を返します。
api.redirect
api.redirect.encodeToken(options)
リダイレクト先(sendUserTo経由)のクエリ文字列パラメーターとして使用可能で、信頼性を対象のエンドポイントで証明可能なデータを含むセッショントークンを作成します。対象のエンドポイントは共有シークレットで JWT の署名を確認して、信頼性とデータの整合性を検証できます。
JWT 文字列を返します。
api.redirect.sendUserTo(url, options)
アクションが完了した直後に、ブラウザーを目的のurlにリダイレクトさせます。
apiオブジェクトへの参照を返します。
api.redirect.validateToken(options)
JWT トークンに含めて/continueエンドポイントに渡された暗号化済みのデータを取得すると同時に、そのデータの信頼性と整合性を検証します。
JWT トークンのペイロードを返します。
api.rules
現在のトランザクション中に実行したルールについての情報を取得します。
api.rules.wasExecuted(ruleId)
現在のトランザクションにおけるこのアクションの前に特定のルールが実行されたかを確認します。アクションへの移行中に「そのルールからこのアクションに移行する」ロジックが重複して実行されることを防ぐために使用できます。このメソッドでは、指定した ID のルールがこのトランザクションで実行されたことがある場合にはtrueが返され、 そうでなかった場合はfalseが返されます。
api.samlResponse
ログインしているユーザーの SAML 応答を修正します。
api.samlResponse.setAttribute(attribute, value)
カスタムの SAML 属性を設定します。
失敗した操作は、Errorをスローします。エラーについて、返されたオブジェクトは、失敗の性質を示すメッセージを持ちます。
値は、SAMLValueタイプでなければならず、次のものが可能です。
string | number | boolean | null | Array
api.samlResponse.setAudience(audience)
SAML 応答のオーディエンスを変更します。デフォルトは、SAMLRequest の発行者です。
api.samlResponse.setEncryptionPublicKey(publicKey)
SAML アサーションの暗号化に使用される公開鍵を任意に指定します。公開鍵はサービスプロバイダーから取得されるべきです。公開鍵と証明書の両方が指定される必要があります。
api.samlResponse.setRecipient(recipient)
SAML アサーションの受信者を変更します(SubjectConfirmationData)。デフォルトは、SAMLRequestのAssertionConsumerUrlまたは SAMLRequest が送られなかった場合は Callback URL です。
api.samlResponse.setCreateUpnClaim(createUpnClaim)
UPN クレームが作成されるべきかどうかを指示します。デフォルトはtrueです。
api.samlResponse.setPassthroughClaimsWithNoMapping(passthroughClaimsWithNoMapping)
trueの場合(デフォルト)、共通プロファイルにマッピングされていない各クレームは、Auth0 がそれらを通じて出力アサーションに渡します。falseの場合、それらのクレームはマップされません。
api.samlResponse.setMapUnknownClaimsAsIs(mapUnknownClaimsAsIs)
passthroughClaimsWithNoMappingがtrueで、これがfalseの場合(デフォルト)、共通プロファイルにマッピングされていない各クレームは、Auth0 がプレフィックス(http://schema.auth0.com)を追加します。`true`の場合、クレームをそのままパススルーします。
api.samlResponse.setMapIdentities(mapIdentities)
trueの場合(デフォルト)、これによりプロバイダー(Google、ADFS、AD など)や、利用可能な場合アクセストークンなどの追加情報がトークンに付け足されます
api.samlResponse.setDestination(destination)
SAML 応答の宛先。指定されていない場合、SAMLRequest の AsserionConsumerUrl になり、SAMLRequest がない場合は、Callback URL になります。
api.samlResponse.setLifetimeInSeconds(lifetimeInSeconds)
トークンの有効期限(秒)。デフォルトでは3600秒(1 時間)です。
api.samlResponse.setSignResponse(signResponse)
SAML 応答が署名されるべきかどうか。デフォルトでは、SAML アサーションは署名されますが、SAML 応答は署名されません。trueの場合、SAML アサーションではなく SAML 応答が署名されます。デフォルトはfalseです。
api.samlResponse.setNameIdentifierFormat(nameIdentifierFormat)
名前 ID 形式を設定します。デフォルトはurn:oasis:names:tc:SAML:1.1:nameid-format:unspecifiedです。
api.samlResponse.setNameIdentifierProbes(nameIdentifierProbes)
Auth0 はこの配列の各属性に順番に名前を付けようとします。その一つが 値を持つ場合は、それを件名/名前 ID に使用します。順序:
- http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier
(
user_idからマッピング) - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress(
emailからマッピング) - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name (
nameからマッピング)
api.samlResponse.setAuthnContextClassRef(authnContextClassRef)
デフォルトはurn:oasis:names:tc:SAML:2.0:ac:classes:unspecifiedです。
api.samlResponse.setSigningCert(signingCert)
SAML 要求の検証に使用される公開鍵証明書を任意に示します。設定された場合、SAML 要求の署名が必要になります。サンプル値は次のようになります:
"-----BEGIN CERTIFICATE-----\nMIIC8jCCAdqgAwIBAgIJObB6jmhG0QIEMA0GCSqGSIb3DQEBBQUAMCAxHjAcBgNV\n[..all the other lines..]-----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.setCert(cert)
デフォルトでは、Auth0 は SAML 応答やアサーションに署名するためのテナントに割り当てられた秘密鍵/公開鍵のペアを使用します。非常に特殊な場合、独自の証明書と秘密鍵を提供することが望ましいかもしれません。
証明書と秘密鍵の両方が指定される必要があります。
サンプル値は次のようになります:
"-----BEGIN CERTIFICATE-----\nMIIC8jCCAdqgAwIBAgIJObB6jmhG0QIEMA0GCSqGSIb3DQEBBQUAMCAxHjAcBgNV\n[..all the other lines..]-----END CERTIFICATE-----\n".
api.samlResponse.setKey(key)
デフォルトでは、Auth0 は SAML 応答やアサーションに署名するためのテナントに割り当てられた秘密鍵/公開鍵のペアを使用します。非常に特殊な場合、独自の証明書と秘密鍵を提供することが望ましいかもしれません。
この秘密鍵は機密であるため、
[Actions のシークレット機能を追加する] を使用することをおすすめします。詳細はこちらから:
最初のアクションを書く
証明書と秘密鍵の両方が指定される必要があります。
サンプル値は次のようになります:
"-----BEGIN PRIVATE KEY-----\nnMIIC8jCCAdqgAwIBAgIJObB6jmhG0QIEMA0GCSqGSIb3DQEBBQUAMCAxHjAcBgNV\n[..all the other lines..]-----END PRIVATE KEY-----\n".
api.samlResponse.setSignatureAlgorithm(signatureAlgorithm)
廃止 :デフォルトはrsa-sha256
api.samlResponse.setDigestAlgorithm(digestAlgorithm)
廃止 :デフォルトはsha256
です。
api.session
ユーザーセッションの取り消しなどでセッションを管理します。
api.session.revoke(reason, options)
現在のトランザクションを拒否し、セッションを取り消し、関連するリフレッシュトークンを削除します。ユーザーはフローを完了できなくなり、それ以降のアクションは実行されません。
注意 この方法はセッション取り消しのOIDC Back-Channel Logout Initiator(OIDC バックチャネルログアウトイニシエーター)を開始し、現在のセッションと関係するすべてのアプリケーションからユーザーをログアウトさせます。リフレッシュトークンに関連するセッションの削除は非同期の処理です。
apiオブジェクトにリファレンスを返します。
api.refreshToken
リフレッシュトークンの取り消しなどによってリフレッシュトークンを管理します。
api.refreshToken.revoke(reason)
現在のトークン交換を拒否し、リフレッシュトークンを取り消します。これによりユーザーはフローを完了できなくなり、それ以降のアクションは実行されません。
apiオブジェクトに参照を返します。