@nuptechs/nupidentity-sdk
v1.0.0
Published
Official NuPIdentity SDK for easy OIDC/SSO integration - protect your app in 3 lines
Maintainers
Readme
@nupidentity/sdk
SDK oficial do NuPIdentity para integração SSO/OIDC em aplicações Node.js.
Instalação
npm install @nupidentity/sdkUso Rápido (Express)
import express from 'express';
import { init } from '@nupidentity/sdk/express';
const app = express();
const nup = await init(app, {
issuer: process.env.NUPIDENTITY_ISSUER,
clientId: process.env.NUPIDENTITY_CLIENT_ID,
clientSecret: process.env.NUPIDENTITY_CLIENT_SECRET,
});
// Proteger rotas específicas
app.get('/api/admin', nup.requireAuth, (req, res) => {
res.json({ user: req.user });
});
// Verificar permissões
app.get('/api/users', ...nup.ensurePermission('users.view'), (req, res) => {
res.json({ users: [] });
});
app.listen(3000);Decorators para Mapeamento de Funcionalidades
Use decorators para marcar funcionalidades que serão sincronizadas com o NuPIdentity:
import { NuPFunction, NuPProtected } from '@nupidentity/sdk/decorators';
class UserController {
@NuPFunction('users.list', { name: 'Listar Usuários', category: 'Usuários' })
listUsers(req, res) {
// ...
}
@NuPFunction('users.create', { name: 'Criar Usuário', category: 'Usuários' })
@NuPProtected('users.create')
createUser(req, res) {
// ...
}
}Integração Completa
Para integração completa com descoberta automática de funcionalidades:
npm install -D @nupidentity/cli
# Inicializar projeto
npx nupidentity init
# Descobrir funcionalidades e abrir UI de integração
npx nupidentity integrate
# Sincronizar com NuPIdentity
npx nupidentity syncVariáveis de Ambiente
NUPIDENTITY_ISSUER=https://identify.nuptechs.com
NUPIDENTITY_CLIENT_ID=seu-client-id
NUPIDENTITY_CLIENT_SECRET=seu-client-secret
NUPIDENTITY_SYSTEM_API_KEY=sua-api-keyDocumentação
Veja a documentação completa em identify.nuptechs.com/docs
