Registry / security / casbin-redis-adapter

casbin-redis-adapter

JSON →
library1.0.4jsnpmunverified

Redis adapter for node-casbin, version 1.0.4 (stable). Provides policy storage in Redis for Casbin authorization. Requires peer dependency casbin ^5.9.0. Ships TypeScript definitions. Supports configurable Redis connection options via NodeRedis client opts. Differs from other adapters (e.g., MySQL, PostgreSQL) by leveraging Redis for fast, in-memory policy storage. Release cadence is low; last update was 2021.

npm install casbin-redis-adapter
INSTALL
IMPORT
SIG · CASBIN-REDIS-ADAPT
C
casbin-redis-adapter
securityjavascriptv1.0.4
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

NodeRedisAdapter
✓ import { NodeRedisAdapter } from 'casbin-redis-adapter'
✗ import NodeRedisAdapter from 'casbin-redis-adapter'
Default export does not exist; use named import.
newAdapter
✓ NodeRedisAdapter.newAdapter(options)
✗ new NodeRedisAdapter(options)
newAdapter is a static async factory method; constructor is not exposed.
IConnectionOptions
✓ import { IConnectionOptions } from 'casbin-redis-adapter'
✗ type IConnectionOptions = { host: string; port: number }
Interface is exported for type checking.

Initialize Casbin enforcer with Redis adapter for policy storage and enforce a permission check.

import { newEnforcer } from 'casbin'; import { NodeRedisAdapter } from 'casbin-redis-adapter'; import { join } from 'path'; async function main() { const model = join(__dirname, 'model.conf'); const adapter = await NodeRedisAdapter.newAdapter({ host: process.env.REDIS_HOST ?? '127.0.0.1', port: parseInt(process.env.REDIS_PORT ?? '6379', 10) }); const enforcer = await newEnforcer(model, adapter); const allowed = await enforcer.enforce('alice', 'data1', 'read'); console.log('Allowed:', allowed); } main().catch(console.error);
Debug
Known issues
gotchaNodeRedisAdapter does not support automatic reconnection; connection failures may cause runtime errors.
fix
Implement custom retry logic or use Redis client with auto-reconnect options.
affects: >=1.0.0
deprecatedThe constructor is deprecated; use NodeRedisAdapter.newAdapter() instead.
fix
Replace `new NodeRedisAdapter(...)` with `await NodeRedisAdapter.newAdapter(...)`.
affects: >=1.0.0
gotchaRequires casbin peer dependency version ^5.9.0; incompatible with casbin 4.x or 6.x.
fix
Ensure casbin version is between 5.9.0 and 6.0.0.
affects: >=1.0.0
breakingThe adapter does not support Redis Sentinel or Cluster configurations; only single-node Redis.
fix
Use a different adapter or implement custom Redis client with sentinel/cluster support.
affects: >=1.0.0
Errors
Common errors & fixes
TypeError: NodeRedisAdapter.newAdapter is not a function
Importing default export instead of named import.
fix
Use `import { NodeRedisAdapter } from 'casbin-redis-adapter'`
Error: Cannot find module 'casbin'
Missing peer dependency casbin.
fix
Run `npm install casbin@^5.9.0`
ConnectionRefusedError: connect ECONNREFUSED 127.0.0.1:6379
Redis server is not running or host/port incorrect.
fix
Start Redis server or check connection options.
Upgrade
Version history
1.0.4latest on npm
Audit
Dependencies
casbinrequiredPeer dependency required for enforcer integration; version ^5.9.0
Agent activity
23 hits · last 30 days
node
22
Resources
casbin-redis-adapter — npm install casbin-redis-adapter · libregistry