@abtnode/auth-service

Neat and easy to use user authentication and authorization service for blocklets

Usage no npm install needed!

<script type="module">
  import abtnodeAuthService from 'https://cdn.skypack.dev/@abtnode/auth-service';
</script>

README

ABT Node Auth Service

Shared Service that can be reused across all blocklets running inside ABT Node, the service provides easy to use DID-Authentication and Role Based Access Control.

1. Start a Production Node

2. Configuration

PORT=3040
SKIP_PREFLIGHT_CHECK=true

# server only
ABT_NODE_SESSION_TTL="1d"
ABT_NODE_MODE="production"
ABT_NODE_SERVICE_PORT="3041"

# this should point to the data directory of node
ABT_NODE_DATA_DIR="/Users/wangshijun/Develop/arcblock/abt-node/.abtnode"

# both server and client
ABT_NODE_ROUTER_PROVIDER="nginx"
ABT_NODE_ADMIN_PATH="/admin"
ABT_NODE_NAME="ABT Node (Dev.Shijun)"
ABT_NODE_DESCRIPTION="Web Interface to manage your ABT Node"
ABT_NODE_DID="zNKaT2cjMMW4Js3hnBWUKPcdboQqrPUTWRat"
ABT_NODE_SERVICE_URL="http://192.168.199.142:3041"

# This should be updated to use a running blocklet in your node
TEST_BLOCKLET_DID="z8ia4e5vAeDsQEE2P26bQqz9oWR1Lxg9qUMaV"
TEST_BLOCKLET_URL="http://127.0.0.1:8090"

3. Start the service

You need 2 terminal windows to start the client and server separately:

cd services/login
DEBUG=@abtnode/*,@arcblock/* npm run start:daemon
DEBUG=@abtnode/* npm run start:client

Now, you are ready to hacking the login service.

TO Developers

  • dependencies for backend should go in dependencies
  • dependencies for frontend should go in devDependencies