
- Complete NestJS TypeScript implementation with WebSocket support - Direct messaging (DM) and group chat functionality - End-to-end encryption with AES encryption and key pairs - Media file support (images, videos, audio, documents) up to 100MB - Push notifications with Firebase Cloud Messaging integration - Mention alerts and real-time typing indicators - User authentication with JWT and Passport - SQLite database with TypeORM entities and relationships - Comprehensive API documentation with Swagger/OpenAPI - File upload handling with secure access control - Online/offline status tracking and presence management - Message editing, deletion, and reply functionality - Notification management with automatic cleanup - Health check endpoint for monitoring - CORS configuration for cross-origin requests - Environment-based configuration management - Structured for Flutter SDK integration Features implemented: ✅ Real-time messaging with Socket.IO ✅ User registration and authentication ✅ Direct messages and group chats ✅ Media file uploads and management ✅ End-to-end encryption ✅ Push notifications ✅ Mention alerts ✅ Typing indicators ✅ Message read receipts ✅ Online status tracking ✅ File access control ✅ Comprehensive API documentation Ready for Flutter SDK development and production deployment.
84 lines
3.3 KiB
Markdown
84 lines
3.3 KiB
Markdown

|
|
|
|

|
|
[](https://codecov.io/gh/auth0/node-jwks-rsa)
|
|

|
|
[](https://opensource.org/licenses/MIT)
|
|

|
|
|
|
📚 [Documentation](#documentation) - 🚀 [Getting Started](#getting-started) - 💬 [Feedback](#feedback)
|
|
|
|
## Documentation
|
|
|
|
- [Examples](https://github.com/auth0/node-jwks-rsa/blob/master/EXAMPLES.md) - documentation of the options and code samples for common scenarios.
|
|
- [Docs Site](https://auth0.com/docs) - explore our Docs site and learn more about Auth0.
|
|
|
|
## Getting Started
|
|
|
|
### Installation
|
|
|
|
Using [npm](https://npmjs.org) in your project directory run the following command:
|
|
|
|
````bash
|
|
npm install --save jwks-rsa
|
|
````
|
|
|
|
Supports all currently registered JWK types and JWS Algorithms, see [panva/jose#262](https://github.com/panva/jose/issues/262) for more information.
|
|
|
|
### Configure the client
|
|
|
|
Provide a JWKS endpoint which exposes your signing keys.
|
|
|
|
````js
|
|
const jwksClient = require('jwks-rsa');
|
|
|
|
const client = jwksClient({
|
|
jwksUri: 'https://sandrino.auth0.com/.well-known/jwks.json',
|
|
requestHeaders: {}, // Optional
|
|
timeout: 30000 // Defaults to 30s
|
|
});
|
|
````
|
|
|
|
### Retrieve a key
|
|
|
|
Then use `getSigningKey` to retrieve a signing key that matches a specific `kid`.
|
|
|
|
````js
|
|
const kid = 'RkI5MjI5OUY5ODc1N0Q4QzM0OUYzNkVGMTJDOUEzQkFCOTU3NjE2Rg';
|
|
const key = await client.getSigningKey(kid);
|
|
const signingKey = key.getPublicKey();
|
|
````
|
|
|
|
## Feedback
|
|
|
|
### Contributing
|
|
|
|
We appreciate feedback and contribution to this repo! Before you get started, please see the following:
|
|
|
|
- [Auth0's general contribution guidelines](https://github.com/auth0/open-source-template/blob/master/GENERAL-CONTRIBUTING.md)
|
|
- [Auth0's code of conduct guidelines](https://github.com/auth0/open-source-template/blob/master/CODE-OF-CONDUCT.md)
|
|
|
|
### Raise an issue
|
|
|
|
To provide feedback or report a bug, please [raise an issue on our issue tracker](https://github.com/auth0/node-jwks-rsa/issues).
|
|
|
|
### Vulnerability Reporting
|
|
|
|
Please do not report security vulnerabilities on the public GitHub issue tracker. The [Responsible Disclosure Program](https://auth0.com/whitehat) details the procedure for disclosing security issues.
|
|
|
|
## What is Auth0?
|
|
|
|
<p align="center">
|
|
<picture>
|
|
<source media="(prefers-color-scheme: dark)" srcset="https://cdn.auth0.com/website/sdks/logos/auth0_dark_mode.png" width="150">
|
|
<source media="(prefers-color-scheme: light)" srcset="https://cdn.auth0.com/website/sdks/logos/auth0_light_mode.png" width="150">
|
|
<img alt="Auth0 Logo" src="https://cdn.auth0.com/website/sdks/logos/auth0_light_mode.png" width="150">
|
|
</picture>
|
|
</p>
|
|
<p align="center">
|
|
Auth0 is an easy to implement, adaptable authentication and authorization platform. To learn more checkout <a href="https://auth0.com/why-auth0">Why Auth0?</a>
|
|
</p>
|
|
<p align="center">
|
|
This project is licensed under the MIT license. See the <a href="https://github.com/auth0/node-jwks-rsa/blob/master/LICENSE"> LICENSE</a> file for more info.
|
|
</p>
|