UNPKG

@kitiumai/auth-mongo

Version:

Enterprise-grade MongoDB storage adapter for @kitiumai/auth with full support for users, sessions, OAuth links, API keys, 2FA, RBAC, and SSO

201 lines 6.33 kB
{ "name": "@kitiumai/auth-mongo", "version": "1.0.0", "description": "Enterprise-grade MongoDB storage adapter for @kitiumai/auth with full support for users, sessions, OAuth links, API keys, 2FA, RBAC, and SSO", "type": "module", "sideEffects": false, "main": "dist/index.js", "module": "dist/index.mjs", "types": "dist/index.d.ts", "exports": { ".": { "types": "./dist/index.d.ts", "import": "./dist/index.mjs", "require": "./dist/index.js" } }, "files": [ "dist/**/*", "README.md", "LICENSE", "CHANGELOG.md", "CODE_OF_CONDUCT.md", "CONTRIBUTING.md" ], "keywords": [ "auth", "authentication", "authorization", "identity", "identity-management", "identity-provider", "iam", "security", "mongodb", "mongo", "mongoose", "atlas", "mongodb-atlas", "database", "database-adapter", "storage-adapter", "storage-backend", "persistence", "data-layer", "repository", "nosql", "document-database", "document-store", "bson", "gridfs", "aggregation", "indexes", "sharding", "replica-set", "connection-pool", "kitium", "kitiumai", "kitium-auth", "@kitiumai/auth", "oauth2", "oauth", "openid", "oidc", "openid-connect", "saml", "saml2", "sso", "single-sign-on", "federated-identity", "api-keys", "api-authentication", "api-security", "sessions", "session-management", "session-store", "user-management", "user-store", "rbac", "role-based-access-control", "abac", "access-control", "permissions", "acl", "2fa", "two-factor-auth", "mfa", "multi-factor-auth", "totp", "otp", "webauthn", "fido2", "passkeys", "email-verification", "email-auth", "passwordless", "magic-link", "enterprise", "enterprise-auth", "multitenancy", "multi-tenant", "organization", "team-management", "audit-log", "compliance", "gdpr", "hipaa", "soc2", "data-encryption", "encryption-at-rest", "secure-storage", "token-storage", "credential-storage", "typescript", "nodejs", "node", "backend", "server-side", "adapter-pattern", "plugin", "integration", "saas", "saas-auth", "production-ready", "scalable", "high-performance", "high-availability", "transaction-support", "acid", "migration", "schema", "flexible-schema", "json-storage" ], "author": "KitiumAI", "license": "MIT", "repository": { "type": "git", "url": "git+https://github.com/kitium-ai/auth-mongo.git" }, "bugs": { "url": "https://github.com/kitium-ai/auth-mongo/issues" }, "homepage": "https://github.com/kitium-ai/auth-mongo#readme", "engines": { "node": ">=16.0.0" }, "publishConfig": { "access": "public", "registry": "https://registry.npmjs.org/" }, "dependencies": { "@kitiumai/auth": "^4.0.1", "mongodb": "^6.3.0", "@kitiumai/logger": "^2.0.1", "@kitiumai/types": "^2.0.1", "@kitiumai/utils-ts": "^2.0.2", "@kitiumai/error": "^2.0.1" }, "devDependencies": { "@kitiumai/config": "^2.0.1", "@kitiumai/lint": "^2.0.1", "@kitiumai/scripts": "^1.0.0", "@kitiumai/vitest-helpers": "^2.0.1", "@types/node": "^20.6.0", "@vitest/coverage-v8": "^2.1.3", "eslint": "^9.15.0", "rimraf": "^5.0.5", "tsup": "7.2.0", "typescript": "^5.2.2", "vitest": "^2.1.8" }, "scripts": { "build": "tsup src/index.ts --format cjs,esm --sourcemap --dts --clean --target es2020 --platform node", "dev": "tsup src/index.ts --format cjs,esm --sourcemap --dts --watch --target es2020 --platform node", "test": "vitest run --passWithNoTests", "test:watch": "vitest watch", "test:coverage": "vitest run --coverage --passWithNoTests", "lint": "eslint src/**/*.ts", "lint:fix": "eslint src/**/*.ts --fix", "clean": "rimraf dist", "typecheck": "tsc -b --noEmit", "format": "prettier --check .", "format:fix": "prettier --write .", "changeset": "ensure-changeset && changeset", "version": "ensure-changeset && changeset version", "publish:set-token": "set-npm-token", "publish:setup": "set-npm-token", "publish:check": "npm whoami --registry https://registry.npmjs.org || npm login --registry https://registry.npmjs.org", "publish:login": "npm login --registry https://registry.npmjs.org", "publish:package": "pnpm run publish:check && pnpm publish --access public --no-git-checks --registry https://registry.npmjs.org", "publish:package:token": "pnpm run publish:setup && pnpm publish --access public --no-git-checks --registry https://registry.npmjs.org", "publish:package:otp": "pnpm run publish:check && pnpm publish --access public --no-git-checks --registry https://registry.npmjs.org --otp", "publish:dry-run": "pnpm publish --access public --no-git-checks --dry-run --registry https://registry.npmjs.org", "publish:dry-run:token": "pnpm run publish:setup && pnpm publish --access public --no-git-checks --dry-run --registry https://registry.npmjs.org", "release": "pnpm version && pnpm install --lockfile-only", "lint:all": "node --input-type=module -e \"import { lintAll } from '@kitiumai/scripts/lint'; await lintAll(false);\"", "security:audit": "node --input-type=module -e \"import { auditDependencies } from '@kitiumai/scripts/security'; const summary = await auditDependencies({ severityThreshold: 'moderate' }); if ((summary.severityCounts?.critical || 0) + (summary.severityCounts?.high || 0) + (summary.severityCounts?.moderate || 0) > 0) { console.log(JSON.stringify(summary, null, 2)); process.exit(1); } console.log('No blocking vulnerabilities');\"", "security:secrets": "node --input-type=module -e \"import { scanSecrets } from '@kitiumai/scripts/security'; const result = await scanSecrets({ configPath: '.gitleaks.toml', failOnFinding: true }); if (result.findings?.length) { console.error(JSON.stringify(result.findings, null, 2)); process.exit(1); } console.log('No secrets detected');\"", "ci:verify": "pnpm run lint:all && pnpm run test:coverage && pnpm run typecheck" } }