@tspscale/npm-login
v1.0.4
Published
Official Node.js SDK for TSP Scale Authentication.
Readme
@tspscale/npm-login
Official Node.js SDK for TSP Scale Authentication.
🚀 Quick Start (Zero-Config)
Add "Login with TSP Scale" to your server-side Node.js applications in minutes!
Installation
npm install @tspscale/npm-login🛠️ Usage: Full OAuth Setup (Express)
If you are building a traditional server-side web app without a frontend framework like React, you can use the SDK's built-in Express handlers to do the heavy lifting for you!
const express = require('express');
const { TSPClient } = require('@tspscale/npm-login');
const app = express();
// 1. Initialize the Client
const tspAuth = new TSPClient({
clientId: process.env.TSP_CLIENT_ID,
clientSecret: process.env.TSP_CLIENT_SECRET,
redirectUri: 'http://localhost:3000/auth/callback'
});
// 2. Login Route (Automatically redirects to TSP Scale)
app.get('/auth/login', tspAuth.loginHandler());
// 3. Callback Route (Automatically exchanges the code for a token)
app.get('/auth/callback', tspAuth.callbackHandler({
onSuccess: (token, req, res) => {
// Save the token (e.g. in a cookie) and redirect to the dashboard
res.cookie('auth_token', token);
res.redirect('/dashboard');
},
onError: (error, req, res) => {
res.status(500).send(`Login failed: ${error}`);
}
}));🔐 Protecting API Routes
If your frontend has already acquired an access token (e.g., via the React SDK), you can use the middleware to protect your backend routes.
// Protect a route - requires a Bearer token in the Authorization header
app.get('/api/protected', tspAuth.middleware(), (req, res) => {
// The middleware automatically verifies the token and attaches the user!
res.json({ message: "Success!", user: req.user });
});