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