📐 認証スキーマ
スキーマはエンドポイントの検証とOpenAPIメタデータを定義します。セットアップとHTTPワークフローから始めて、このページでリクエスト契約の詳細を確認してください。対応するフィーチャーが各スキーマとルートを構成します。transport固有の更新・ログアウト動作にはCookieユーティリティをご利用ください。
インベントリ
| エクスポート | リクエスト場所 | 契約内容 |
|---|---|---|
passwordSchema | N/A | SDKのパスワードパターンを使用する再利用可能なパスワードオブジェクト。 |
providerSchema | N/A | 再利用可能な provider および providerId オブジェクト。 |
credentialsSchema | N/A | 再利用可能なメール/パスワード認証情報オブジェクト。 |
identitySchema | Body | 認証情報またはプロバイダーのID JSON。 |
loginWithCredentialsSchema | Body | オプションのボディフィンガープリント付き認証情報ログイン。 |
resendMfaCodeSchema | Body | MFAチャレンジトークン。 |
verifyMfaCodeSchema | Body | MFAチャレンジトークンとコード。 |
loginWithOnetimeTokenSchema | Body | ワンタイムログイントークン。 |
registerCredentialsSchema | Body | 登録認証情報とオプションの招待トークン。 |
sendVerificationEmailSchema | Path, body | IDとオプションのボディフィンガープリント。 |
confirmEmailSchema | Body | メール確認トークン。 |
changeEmailSchema | Path, body | IDと新しいメール; ソースヘッダーパラメータはコメントアウト済み。 |
checkTokenSchema | Body | トークンとオプションの预期ターゲット。 |
confirmNewEmailSchema | Body | メール変更トークン; ソースヘッダーパラメータはコメントアウト済み。 |
sendResetPasswordLinkEmailSchema | Body | メールアドレス; ソースヘッダーパラメータはコメントアウト済み。 |
completePasswordResetSchema | Body | 新規パスワード; ランタイムではスキーマで検証されないAuthorizationヘッダーが必要です。 |
changePasswordSchema | Path, body | ID、現在のパスワード、および新規パスワード。 |
deactivateSchema | Body | 無効化するID。 |
activateSchema | Body | 有効化するID。 |
refreshTokenCookieSchema | Body | Cookieモード用の空のボディ更新。 |
refreshTokenBearerSchema | Body | Bearerモード用更新トークン。 |
refreshTokenSchema | Body | refreshTokenBearerSchema の非推奨エイリアス。 |
logoutCookieSchema | Body | Cookieモード用の空のボディログアウト。 |
logoutBearerSchema | Body | ログアウトに使用するBearerモードの更新トークン。 |
deleteRefreshTokensSchema | Path | 更新レコードを取り消すID。 |
共有ソースコンテキストを表示
import {OpenAPIParameter, SchemaDefinition, withSchema} from '../primitives';
const identityIdPathParameter: OpenAPIParameter = {
in: 'path',
name: 'identityId',
required: true,
schema: {
type: 'string',
},
};
const hostHeaderParameter: OpenAPIParameter = {
in: 'header',
name: 'host',
required: true,
schema: {
type: 'string',
},
};
const userAgentHeaderParameter: OpenAPIParameter = {
in: 'header',
name: 'user-agent',
required: true,
schema: {
type: 'string',
},
};
const fingerprintHeaderParameter: OpenAPIParameter = {
in: 'header',
name: 'x-nb-fingerprint',
required: false,
schema: {
type: 'string',
},
};
const authorizationHeaderParameter: OpenAPIParameter = {
in: 'header',
name: 'Authorization',
required: true,
schema: {
type: 'string',
},
};
const defaultPasswordPattern = '^(?=.*[a-z])(?=.*[0-9])[A-Za-z0-9.?/_-]{8,24}$';
詳細
passwordSchema
定義
additionalProperties: false の再利用可能オブジェクト。フィールド: password は ^(?=.*[a-z])(?=.*[0-9])[A-Za-z0-9.?/_-]{8,24}$ に一致するオプションの文字列です。completePasswordResetSchema で展開されます。ルートやフィーチャーからは直接構成されません。完全なソースを表示
providerSchema
定義
additionalProperties: false の再利用可能オブジェクト。フィールド: オプションの文字列 provider とオプションの文字列 providerId を持つ; 再利用可能な定義には required 配列はありません。identitySchema で展開されます。ルートやフィーチャーからは直接構成されません。完全なソースを表示
credentialsSchema
定義
additionalProperties: false の再利用可能オブジェクトです。ソース順のフィールドは、必須文字列の email、既定値が false の任意の真偽値 emailVerified、必須文字列の password です。identitySchema で展開され、ルートまたはフィーチャーが直接合成することはありません。完全なソースを表示
identitySchema
定義
追加プロパティを許可せず、email と password、または provider と providerId のいずれかを受け取ることを意図した必須の application/json 本文です。ソースでは完全な credentialsSchema を展開してから providerSchema を展開するため、後者が properties を含む重複する最上位キーを上書きします。このエクスポートは現在、認証フィーチャーまたはルートでは合成されません。完全なソースを表示
loginWithCredentialsSchema
定義
additionalProperties: false を持つ必須の application/json 本文です。必須文字列の email と password、任意の文字列 fingerprint を含みます。使用するルート: loginWithCredentialsRoute。使用するフィーチャー: loginWithCredentialsFeature。完全なソースを表示
resendMfaCodeSchema
定義
additionalProperties: false と必須文字列フィールド token を 1 つ持つ、必須の application/json 本文です。使用するルート: resendMfaCodeRoute。使用するフィーチャー: resendMfaCodeFeature。完全なソースを表示
verifyMfaCodeSchema
定義
additionalProperties: false を持つ必須の application/json 本文です。ソースのプロパティ順は必須文字列 code、続いて必須文字列 token であり、required 配列は ['token', 'code'] です。使用するルート: verifyMfaCodeRoute。使用するフィーチャー: verifyMfaCodeFeature。完全なソースを表示
loginWithOnetimeTokenSchema
定義
additionalProperties: false と必須文字列 token を持つ、必須の application/json 本文です。使用するルート: loginWithOnetimeTokenRoute。使用するフィーチャー: loginWithOnetimeTokenFeature。完全なソースを表示
registerCredentialsSchema
定義
additionalProperties: false を持つ必須の application/json 本文です。文字列フィールドは email、password、token です。password は常に必須であり、oneOf は email と password、または token と password のいずれかを追加で必須にします。使用するルート: registerCredentialsRoute。使用するフィーチャー: registerCredentialsFeature。完全なソースを表示
sendVerificationEmailSchema
定義
必須文字列パスパラメーター identityId と、任意の文字列 fingerprint のみを許可する必須の application/json 本文を持ちます。本文オブジェクト自体も必須です。使用するルート: sendVerificationEmailRoute。使用するフィーチャー: emailVerificationFeature。完全なソースを表示
confirmEmailSchema
定義
additionalProperties: false と必須文字列 token を持つ、必須の application/json 本文です。使用するルート: confirmEmailRoute。使用するフィーチャー: confirmEmailFeature。完全なソースを表示
changeEmailSchema
定義
必須文字列パスパラメーター identityId と、追加プロパティを許可しない必須の application/json 本文を持ちます。本文フィールド email は minLength: 1 とパターン \S を持つ必須文字列です。host、user-agent、fingerprint パラメーターはコメントアウトされており、スキーマで検証されません。使用するルート: changeEmailRoute。使用するフィーチャー: changeEmailFeature。完全なソースを表示
checkTokenSchema
定義
additionalProperties: false を持つ必須の application/json 本文です。任意の文字列 target の後に必須文字列 token を置きます。使用するルート: checkTokenRoute。使用するフィーチャー: checkTokenFeature。完全なソースを表示
confirmNewEmailSchema
定義
必須文字列 token のみを許可する application/json 本文です。リクエスト本文ラッパー自体は必須としてマークされません。host、user-agent、fingerprint パラメーターはコメントアウトされています。使用するルート: confirmNewEmailRoute。使用するフィーチャー: confirmNewEmailFeature。完全なソースを表示
sendResetPasswordLinkEmailSchema
定義
minLength: 1 とパターン \S を持つ必須文字列 email のみを許可する application/json 本文です。リクエスト本文ラッパー自体は必須としてマークされません。host、user-agent、fingerprint パラメーターはコメントアウトされています。使用するルート: sendResetPasswordLinkEmailRoute。使用するフィーチャー: sendResetPasswordLinkEmailFeature。完全なソースを表示
completePasswordResetSchema
定義
application/json 本文は passwordSchema を展開し、password を必須にします。ソースは host、user-agent、fingerprint、Authorization の項目がコメントアウトされているため、空の parameters 配列を宣言します。実行時は引き続き Authorization: Bearer <token> からリセットトークンを読み取ります。使用するルート: completePasswordResetRoute。使用するフィーチャー: completePasswordResetFeature。完全なソースを表示
changePasswordSchema
定義
必須文字列パスパラメーター identityId を持ちます。application/json 本文は追加プロパティを許可せず、password(\S に一致する空でない文字列)と newPassword(既定のパスワードパターンに一致する文字列)を必須とします。本文ラッパー自体は必須としてマークされません。使用するルート: changePasswordRoute。使用するフィーチャー: changePasswordFeature。完全なソースを表示
deactivateSchema
定義
minLength: 1 とパターン \S を持つ必須文字列 identityId のみを許可する application/json 本文です。本文ラッパー自体は必須としてマークされません。host、user-agent、fingerprint、Authorization パラメーターはコメントアウトされています。使用するルート: deactivateRoute。使用するフィーチャー: deactivateFeature。完全なソースを表示
activateSchema
定義
minLength: 1 とパターン \S を持つ必須文字列 identityId のみを許可する application/json 本文です。本文ラッパー自体は必須としてマークされません。使用するルート: activateRoute。使用するフィーチャー: activateFeature。完全なソースを表示
refreshTokenCookieSchema
定義
オプションの application/json Bodyで、スキーマはプロパティなしのオブジェクトかつ additionalProperties: false です。使用されるルート: refreshTokenRoute。 選択されるフィーチャー: refreshTokenFeature(authMode が 'cookie' の場合)。完全なソースを表示
refreshTokenBearerSchema
定義
必須の文字列 refreshToken のみ允许する application/json Body; ボディラッパーは必須としてマークされません。使用されるルート: refreshRoute。 選択されるフィーチャー: refreshFeature Cookieモード以外。完全なソースを表示
refreshTokenSchema
定義
refreshTokenBearerSchema の非推奨の正確なエイリアスです。フィールドは追加されず、現在のAuthenticationフィーチャーやルートによって構成されることもありません。完全なソースを表示
logoutCookieSchema
定義
オプションの application/json Bodyで、スキーマはプロパティなしのオブジェクトかつ additionalProperties: false です。使用されるルート: logoutRoute。 選択されるフィーチャー: logoutFeature(authMode が 'cookie' の場合)。完全なソースを表示
logoutBearerSchema
定義
必須の文字列 refreshToken のみ允许する application/json Body; ボディラッパーは必須としてマークされません。使用されるルート: logoutRoute。 選択されるフィーチャー: logoutFeature Cookieモード以外。完全なソースを表示
deleteRefreshTokensSchema
定義
必須の文字列パスパラメータ identityId が1つあります。コメントアウトされているhost、user-agent、fingerprintパラメータはスキーマで検証されません。使用されるルート: deleteRefreshTokensRoute。 使用されるフィーチャー: deleteRefreshTokensFeature。完全なソースを表示