0.3.9 • Published 3 years ago

moleculer-iam v0.3.9

Weekly downloads
42
License
MIT
Repository
github
Last release
3 years ago

moleculer-iam

Centralized IAM module for moleculer. Including default OIDC provider for user profile and custom claims (for ABAC, also simple role system for RBAC available) management, custom claims are supported by scheme validation and versioned migration. Either can be composed with remote OIDC providers like G-Suite. Basic authentication and authorization features for OIDC/OAuth2 are supported. Can operate mutiple realms, including admin, user, service-account realms are set by default.

Build Status Coverage Status David Known Vulnerabilities NPM version Moleculer

Release Road-map

  • 0.1.x Pre-alpha
    • OAuth 2.0 and OpenID Connect Core 1.0 Provider
      • hack oidc-provider module to be programmable
    • Web client application (React.js / responsive)
      • token management
        • login
        • logout / change account
      • account management
        • find email
        • reset password
        • phone verification
        • email verification
        • registration
  • 0.2.x Alpha
    • Identity Provider
      • Storage
        • In-Memory adapter (for testing and development)
        • RDBMS adapter (MySQL, PostgreSQL, ...)
      • OIDC scope and claims definition
        • Declarative claims schema
        • Robust migration support for versioned claims
        • Battery included OIDC scopes
          • openid
          • profile (name, picture)
          • email (email, email_verified)
          • phone (phone_number, phone_number_verified)
          • gender
          • birthdate
      • Dynamic scope grant without definition (eg. repo:read, calendar:create, whatever:dynamic:permissions)
      • Federation
        • OAuth
          • Google (OIDC)
          • Facebook
          • KakaoTalk
  • [] 0.3.x Beta
    • [] OAuth 2.0 and OpenID Connect Core 1.0 Provider
      • [] (Refactor interaction codes)
      • [] Device flow
    • [] Identity Provider
      • [] 2FA
    • [] Web client application components
      • [] manage profile
      • [] manage session
      • [] manage credentials
      • [] manage devices
      • [] manage connected services
      • [] remove account
  • [] 1.0.x First Stable Release
    • [] Rate limiter
    • [] IP filter
    • [] Documentation
    • [] moleculer-api integration example

Usage

1. Documents

2. Examples

3. Quick Start

npm install moleculer-iam --save

...

Development

1. NPM Scripts

  • npm run dev [example=moleculer] - Start development (nodemon with ts-node)
  • npm run dev-app - Start Client Application development (webpack)
  • npm run build- Transpile ts and tsx to js for both server and client
  • npm run lint - Run TSLint for both server and client
  • npm run deps- Update dependencies
  • npm test - Run tests & generate coverage report
  • npm test -- --watch - Watch and run tests
  • npm test-app - Run tests for client
  • npm test-app -- --watch - Watch and run tests for client

Contribution

Please send pull requests improving the usage and fixing bugs, improving documentation and providing better examples, or providing some testing, because these things are important.

License

The project is available under the MIT license.

Contact

Copyright (c) 2019 QMIT Inc.