1.2.3 • Published 4 months ago

@albirex/fastify-logto v1.2.3

Weekly downloads
-
License
ISC
Repository
github
Last release
4 months ago

Fastify Logto Integration

🔐 Fastify plugin for integrating with Logto, a modern open-source identity platform.

Features

  • Plug-and-play authentication and session management with Logto.
  • Secure route protection using Fastify decorators.
  • Works seamlessly with Fastify 4+ and TypeScript.

Installation

To install the package, use your preferred package manager:

npm install @albirex/fastify-logto
# or
yarn add @albirex/fastify-logto
# or
pnpm add @albirex/fastify-logto

Usage

Basic setup

import Fastify from 'fastify';
import fastifyLogto from 'fastify-logto';

const app = Fastify();

app.register(fastifyLogto, {
  appId: 'your-logto-app-id',
  appSecret: 'your-logto-app-secret',
  endpoint: 'https://your-logto-endpoint.com',
  baseUrl: 'http://localhost:3000',
  cookieSecret: 'your-cookie-secret', // use a strong secret in production
});

Protecting routes

app.get('/profile', {
  preHandler: app.verifyLogto,
  handler: async (request, reply) => {
    const userInfo = await request.getLogtoUser();
    return { user: userInfo };
  }
});

Configuration options

PropertyTypeDescription
appIdstringYour Logto application's ID.
appSecretstringYour Logto application's secret.
endpointstringYour Logto server endpoint.
cookieSecretstringSecret used for signing cookies (sessions).
baseUrlstring, optionalYour app's base URL (for callback routing).
scopesstring[], optionalDefine the scopes required for your application.

API

Decorators

  • request.getLogtoUser(): Retrieves the authenticated user's information.
  • app.verifyLogto: PreHandler function to enforce authentication.

Development

pnpm install
pnpm build
pnpm test

Local linking

pnpm link --global
cd ../your-app
pnpm link --global fastify-logto

License

This project is licensed under the MIT License.

Contributing

Contributions are welcome! Please open an issue or submit a pull request for any enhancements or bug fixes.

For more information and advanced usage, please refer to the official documentation for Platformatic and LogTo.

1.2.3

4 months ago

1.2.2

4 months ago

1.2.1

4 months ago

1.2.0

4 months ago

1.1.4

4 months ago

1.1.3

4 months ago

1.1.2

4 months ago

1.1.1

4 months ago

1.0.4

5 months ago

1.0.3

5 months ago

1.0.2

5 months ago

1.0.0

5 months ago