変更履歴
2025-08-22
✨ 追加
ブロック
- Organization:
buildOrganizationsWithDescendantsQuery: 組織自身のIDまたは祖先IDで組織を検索するMongoDBクエリを構築します
2025-08-21
✨ 追加
ユーティリティ
- Authentication:
decryptAndVerifyJWT: 暗号化されたJWTを復号化および検証しますtokenPassesSecurityCheck: トークンに対してフィンガープリント/IP/ユーザーエージェントを検証しますdefaultRefreshTokenBodyAuth: リクエストボディからリフレッシュトークンを検証しますdefaultRefreshTokenCookieAuth: Cookieからリフレッシュトークンを検証しますretrieveTokenVerification: Expressリクエストから検証メタデータを構築しますvalidateAuthSecrets: 認証シークレットの設定を検証しますgenerateMailBody: URLと変数をメールテンプレートに補間しますauthSecretsValidationErrorMessage: 無効なシークレットをメッセージにマッピングするヘルパーisAccessToken: アクセストークン(ユーザーまたはアプリ)をチェックしますisUserAccessToken: ユーザーアクセストークンをチェックしますisAppAccessToken: アプリアクセストークンをチェックしますisRefreshToken: リフレッシュトークンをチェックしますisOnetimeToken: ワンタイムトークンをチェックしますisValidAppAccessToken: アプリアクセストークンがappIdを持っているかをチェックしますisValidUserAccessToken: ユーザーアクセストークンがidentityIdを持っているかをチェックします
2025-08-20
✨ 追加
バリデータ
- Authentication:
isAuthenticated: Bearerトークンを使用してリクエストを認証します
- Identity:
isSelf: 認証されたアイデンティティがターゲットアイデンティティと一致することを確認します
- Organization:
hasOrgRole: 組織メンバーシップロールを検証します
- Chat:
hasSubscription: チャンネルサブスクリプションを必須としますownsSubscription: サブスクリプションの所有権を検証しますownsChannel: チャンネルの所有権を検証しますownsMessage: メッセージの所有権を検証します
- Order:
ownsOrder: 注文の所有権を検証します
- User:
ownsProfile: プロフィールの所有権を検証します
- Common:
checkIdentityType: アイデンティティタイプによるアクセスをゲートしますownsResource: 汎用所有権バリデータsome: ORセマンティクスでバリデータを構成します- レガシーパラメータバリデータ(文書化済み):
requireParam,isUUID,isNumber
- Category:
2025-08-14
🔄 変更
ルート
sendVerificationEmailRoute: パスが/auth/:identityId/send-verification-emailに変更されました(以前は:userId)
機能
emailVerificationFeature:/auth/:identityId/send-verification-emailエンドポイントを使用しますlockUserFeatures: APIエンドポイントが/identities/:identityId/lockを使用しますunlockUserFeatures: APIエンドポイントが/identities/:identityId/unlockを使用します
2025-08-13
✨ 追加
ブロック
- User:
getUserById: 存在検証付きでIDでユーザーを取得しますnormalizeUser: ユーザーオブジェクトからMongoDB_idフィールドを削除しますnormalizeUsers: ユーザー配列からMongoDB_idフィールドを削除します
- Avatar:
normalizeAvatarOfOwner: objectIdから署名付きダウンロードURLを生成しobjectIdを削除しますnormalizeAvatarsOfOwners: 複数のユーザーのアバターデータを正規化しますdeleteAvatarIfReplaced: objectIdが変更されたときに以前のアバターファイルを削除します
🔄 変更
ハンドラー(非推奨)
- Authentication:
- 文書内の置換に関する注意付きで非推奨としてマークされました:
loginWithCredentials,createAccessToken,createRefreshToken,setResponseCookie,refreshToken,logout,checkToken,loginWithOnetimeToken,generateOnetimeToken,registerCredentials,confirmEmail,loginTerminator,logoutTerminator,registerTerminator,sendVerificationEmailTerminator,sendVerificationEmail - 置換: Authentication Blocksを使用
- 文書内の置換に関する注意付きで非推奨としてマークされました:
- User:
- 文書内の置換に関する注意付きで非推奨としてマークされました:
createUser,getUserById,findUsers,updateUser,deleteUser,lockUser,unlockUser,normalizeUserTerminator,normalizeUsersListTerminator,deleteUserTerminator,lockUserTerminator,unlockUserTerminator - 置換: User Blocksを使用
- 文書内の置換に関する注意付きで非推奨としてマークされました:
バリデータ(非推奨)
- Authentication:
verifyAuthentication— 置換:isAuthenticated
- User:
validateUserProfileAccess— 置換:ownsProfile
- Organization:
validateOrganizationAccess— 置換:hasOrgRole
- Order:
validateOrderAccess— 置換:ownsOrder
- Chat:
validateChannelAccess— 置換:ownsChannelvalidateMessageAccess— 置換:ownsMessage
- Common:
validateResourceAccess— 置換:isSelf,checkIdentityType
認証ドキュメント
sendVerificationEmailRoute: パスが/auth/:identityId/send-verification-emailに修正されましたemailVerificationFeature::identityIdを使用するルートとAPIエンドポイントが更新されましたAuthentication Blocks Index::identityIdを使用するように要約が更新されました
サービス
Authentication Service:- トークンチェックレスポンスフィールドが
userIdからidentityIdに修正されました
- トークンチェックレスポンスフィールドが
2025-08-12
✨ 追加
スキーマ
- OAuth:
fpQueryParameter: リクエスト相関のためのフィンガープリントクエリパラメータpurposeQueryParameter: フロー目的(oauth-login|oauth-signup)redirectUrlQueryParameter: クライアントリダイレクト先typeIdQueryParameter: オプションのアイデンティティタイプ識別子stateQueryParameter: コールバック検証のためのOAuthステートgoogleOauthSchema: 開始スキーマ(空のJSON本体)
ブロック
- OAuth:
requestGoogleOAuth: Google OAuthを開始し署名付きステートを生成しますauthenticateGoogleOAuth: プロバイダコールバックを処理しプロフィールを抽出しますextractOAuthLoginState:stateトークンをデコードおよび検証しますverifyGoogleOAuth: Googleプロフィールからアイデンティティを解決/作成しますgenerateRedirectURL: トークン付きのリダイレクトURLを構築します
- Common:
redirectTo: HTTPリダイレクトを発行しますgenerateRandomPassword: 安全なランダムパスワードを生成します
- Organization:
generateSignedLogoUploadUrl: 組織ロゴ用の事前署名付きアップロードURLを作成します
ルート
- OAuth:
googleOAuthRoute: GET/auth/oauth/googlegoogleOAuthCallbackRoute: GET/auth/oauth/google/callback
- Organization:
getLogoUploadUrlRoute: GET/organizations/:organizationId/logo-upload-url
機能
- OAuth:
googleOAuthFeature: 構成された開始ワークフローgoogleOAuthCallbackFeature: 構成されたコールバック/リダイレクトワークフロー
- Organization:
getLogoUploadUrlFeature: 組織ロゴアップロードURL生成のための構成されたワークフロー
ドライバー
- OAuth:
verifyGoogleCallback: Google用のPassport検証コールバックcreateGoogleOAuthDriver: Passportストラテジとヘルパーを設定します
🔄 変更
サービス
Authentication Service: クイックスタートでSDKドライバーと正しいストア/引数を使用@nodeblocks/backend-sdkからdriversをインポートgetMongoClient('mongodb://localhost:27017', 'dev')を使用- 第3引数を
{ mailService, googleOAuthDriver }として提供 - データストアキーが
identities,onetimetokens,invitationsに修正されました - エンドポイント要約: OAuthエンドポイントが追加されました — GET
/auth/oauth/google, GET/auth/oauth/google/callback
2025-08-08
✨ 追加
ブロック
getAvatarUploadUrlRoute: GET/user-profiles/:profileId/avatar-upload-url安全なアバターアップロードURL生成用getAvatarUploadUrlFeature: スキーマ検証付きのアバターアップロードURL生成のための構成されたワークフロー
2025-08-07
✨ 追加
ブロック
extractTokenFromAuthorizationHeader: AuthorizationヘッダーからBearerトークンを抽出しますsoftDeleteRefreshTokens: アイデンティティのすべてのリフレッシュトークンをソフト削除します
スキーマ
completePasswordResetSchema: リセット完了用の新しいパスワードを検証します
ルート
deactivateRoute: POST/auth/deactivateアカウントを無効化しトークンを無効化しますcompletePasswordResetRoute: POST/auth/reset-passwordパスワードリセットを最終化します
機能
deactivateFeature: アカウントを無効化するための構成されたワークフローcompletePasswordResetFeature: パスワードリセットを最終化するための構成されたワークフロー
⚠️ 非推奨
requireParam,isUUID,isNumberバリデータがレガシーインターフェースを使用し非推奨になりました。- 標準バリデータまたは通常のペイロード署名を使用するカスタムバリデータを推奨します。
- 詳細:
requireParam,isUUID,isNumberを参照してください。
🧩 バージョン管理
- バックエンドドキュメントリリースのためにSDKバージョン管理が導入されました。
- ドキュメントバージョンセレクタの隣のナビゲーションバーの右側からNodeBlocks Backend SDKバージョンを選択できるようになりました。
2025-08-06
✨ 追加
ブロック
hash: bcryptを使用して文字列(パスワード)をハッシュ化しますnormalizeIdentityWithoutPassword: アイデンティティオブジェクトからpasswordと_idを削除しますsendEmail: オプションのワンタイムトークン付きでメールを送信しますupdateIdentity: データストア内のアイデンティティフィールドを更新しますbuildUpdateIdentityActivatedPayload: 非アクティブ化をクリアしアイデンティティをロック解除するためのアクティベーションペイロードを構築しますisEmailVerified: メールが検証されていることを確認するか禁止を返しますcheckOneTimeToken: ワンタイムトークンを検証および復号化しますcheckToken: セキュリティチェック付きでアクセス/ワンタイムトークンを検証します
スキーマ
changePasswordSchema: 現在のパスワードと新しいパスワードを検証しますactivateSchema: アクティベーションリクエストを検証します
ルート
changePasswordRoute: PATCH/auth/:identityId/change-passwordパスワードを変更しますactivateRoute: POST/auth/activateアカウントをアクティブ化します
機能
changePasswordFeature: パスワード変更のための構成されたワークフロー
コンビネータ
applyPayloadArgs: ペイロードデータをブロックパラメータにマッピングしますorThrow: マッピングされたエラーをスローするか値を通過させます
2025-07-29
✨ 追加
- データベースドライバー: データベース接続と設定の包括的なドキュメント
- 接続例付きのMongoDBドライバードキュメント
- カスタムデータベースドライバーのインターフェース要件
- メールサービスドライバー: メールサービス設定の完全なドキュメント
- APIキー設定付きのSendGridドライバードキュメント
- HTML/テキストコンテンツ要件付きのメールデータインターフェース
- ステータスベースの成功処理付きのメールサービスインターフェース
- ファイルストレージドライバー: クラウドストレージ操作の詳細なドキュメント
- 署名付きURL生成付きのGoogle Cloud Storageドライバー
- ファイルアップロード、ダウンロード、削除URLの例
- 署名付きURLテストのためのcURL例
- コンテンツタイプ検証とファイルサイズ制限
- ドライバーアーキテクチャ: components下の新しいdriversサブディレクトリ
docs/v2/backend/components/drivers/での整理されたドライバードキュメント- データベース、メールサービス、ファイルストレージドライバーの個別ドキュメント
- すべてのドライバータイプ間の統一されたインターフェースパターン
- Identity Service Documentation: ライブテスト検証付きの完全なAPIドキュメント
- アイデンティティ管理のための完全なCRUD操作(GET, PATCH, DELETE)
- cURLテストを通じて検証された実際のAPIレスポンス例
- 適切な認証ドキュメント付きの管理者専用アクセス要件
- 実際のレスポンス形式ドキュメント付きのスキーマベースのリクエスト検証
- HTTPステータスコード(401, 403, 404, 500)付きのエラーハンドリング
- NodeBlocksデータベースドライバーを使用した統合例
2025-07-28
✨ 追加
- 組織ブロック: 組織管理のための純粋なビジネスロジック関数
- ペイロードデータをブロックパラメータにマッピングするための
applyPayloadArgsユーティリティ - ファイルストレージブロック: 安全なファイル管理のための純粋なビジネスロジック関数
- 安全なアップロードURLを作成するための
generateSignedUploadUrlブロック - 安全なダウンロードURLを作成するための
generateSignedDownloadUrlブロック - 安全な削除URLを作成するための
generateSignedDeleteUrlブロック - UUID生成付きのアバターアップロードのための
generateSignedAvatarUploadUrlブロック - 画像アップロード検証のためのファイルストレージスキーマ
- 認証ブロック: 安全な認証のための純粋なビジネスロジック関数
- ユーザー検証とメール操作のためのアイデンティティ管理ブロック
- 安全なトークンライフサイクル管理のためのトークン管理ブロック
- 検証と通信のためのメール認証ブロック
- フィンガープリント追跡とリクエスト検証のためのセキュリティ検証ブロック
- 強化された機能のための新しい認証スキーマ:
changeEmailSchemaメール変更検証用checkTokenSchemaターゲットコンテキスト付きのトークン検証用confirmNewEmailSchema新しいメール確認検証用sendResetPasswordLinkEmailSchemaパスワードリセットメール検証用
- 完全なワークフローのための新しい認証機能:
changeEmailFeatureメール変更開始用checkTokenFeatureターゲットコンテキスト付きのトークン検証用confirmNewEmailFeature新しいメール確認用sendResetPasswordLinkEmailFeatureパスワードリセットメール生成用
- ブロックを使用した新しい認証ルート:
changeEmailRouteメール変更開始用checkTokenRouteトークン検証用confirmNewEmailRoute新しいメール確認用sendResetPasswordLinkEmailRouteパスワードリセットメール送信用
🔄 変更
-
組織ハンドラーをブロックに移行:
createOrganization→createOrganizationblockgetOrganizationById→getOrganizationByIdblockfindOrganizations→findOrganizationsblockupdateOrganization→updateOrganizationblockdeleteOrganization→deleteOrganizationblockgetOrganizationUserRole→getOrganizationMemberRoleblockcheckOrganizationUserExistence→checkOrganizationMemberExistenceblockfindOrganizationUsers→findOrganizationMembersblockupsertOrganizationUsers→upsertOrganizationMembersblockdeleteOrganizationUser→deleteOrganizationMemberblockfindOrganizationsForUser→findOrganizationsForIdentityblock
-
組織スキーマ名と用語を更新:
organizationUsersSchema→organizationMembersSchemaupsertOrganizationUsersSchema→upsertOrganizationMembersSchemagetOrganizationUserRoleSchema→getOrganizationMemberRoleSchemacheckOrganizationUserExistenceSchema→checkOrganizationMemberExistenceSchemafindOrganizationUsersSchema→findOrganizationMembersSchemadeleteOrganizationUserSchema→deleteOrganizationMemberSchemafindOrganizationsForUserSchema→findOrganizationsForIdentitySchema- パラメータ名更新:
userId→identityId - メンバースキーマ構造:
id→identityId
🐞 破壊的変更
- 組織ハンドラーが削除されました - 直接インポートできなくなりました
- カスタムルートで以前のハンドラーロジックを使用するには、
applyPayloadArgsを使用してブロックを構成します