Skip to content

Feat/init#1

Merged
rshelekhov merged 13 commits intodevfrom
feat/init
Nov 20, 2025
Merged

Feat/init#1
rshelekhov merged 13 commits intodevfrom
feat/init

Conversation

@rshelekhov
Copy link
Owner

Summary

This PR introduces the initial release of the SSO SDK, complete with authentication flows, user management, client application handling, full testing coverage, framework integrations, and project tooling.

Key Features

SSO SDK Core

  • Added AppAPI for client application registration.
  • Implemented AuthAPI with registration, login, email verification, password reset, and token refresh.
  • Added UserAPI for profile retrieval, updates, and deletion.
  • Created BaseAPIClient for unified HTTP logic and error parsing.
  • Centralized all API routes in routes.ts.
  • Added custom error classes for validation, authentication, and not-found conditions.
  • Implemented device data utilities and URL validation helpers.
  • Introduced a stateless SSOClient as the main SDK entry point.
  • Added complete TypeScript types across the SDK.

Testing

  • Added a full testing framework with unit and integration test suites.
  • Added Docker Compose setup for integration tests.

NestJS Example Application

  • Added a full NestJS reference app integrating the SSO SDK.
  • Included configuration (nest-cli.json, tsconfig.json, package.json).
  • Implemented AppModule, SSOModule, SSOService, and SSOInterceptor.
  • Added AuthController with login, register, logout, and profile endpoints.
  • Configured session-based token persistence.

Documentation

  • Added extensive documentation: FAQ, security guidelines, testing guide, token storage guide, and general usage docs.
  • Added main README.md with installation steps and examples.

Project Setup & Tooling

  • Added initial configuration for TypeScript, Prettier, Bun, and package management.
  • Added GitHub Actions workflow for linting, unit tests, and integration tests.
  • Included .gitignore, Docker Compose, and a Makefile with development commands.

…ent application management

- Added AppAPI for client application registration.
- Introduced AuthAPI for user authentication, including registration, login, email verification, password reset, and token refresh.
- Created UserAPI for user profile management, including fetching, updating, and deleting user accounts.
- Developed BaseAPIClient to handle HTTP requests and error parsing.
- Defined centralized API routes in routes.ts for better maintainability.
- Implemented error handling with custom error classes for validation, authentication, and not found errors.
- Added utility functions for device data creation and URL validation.
- Established a main SSOClient class to encapsulate SDK functionality and provide a stateless design.
- Included TypeScript types for better type safety and clarity.
- Created nest-cli.json for NestJS configuration.
- Added package.json with dependencies and scripts for the NestJS app.
- Implemented AppModule to import SSOModule and define AuthController.
- Developed AuthController with login, register, logout, and profile endpoints.
- Set up main.ts to initialize the NestJS application with session management.
- Created SSOInterceptor to manage token persistence in sessions.
- Established SSOModule to provide SSOService and register the interceptor.
- Implemented SSOService to handle SSO client configuration and device context extraction.
- Added TypeScript configuration file (tsconfig.json) for the project.
… Prettier, TypeScript, and package management
@rshelekhov rshelekhov merged commit f6b139b into dev Nov 20, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant