Skip to content

Shawtygold/grpc-password-storage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

296 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hyperlock

GRPC Password Storage System

📦 .NET 9, gRPC, PostgreSQL, Marten, Wolverine


🧩 A secure password management system built as two core services: an Authorization Server that handles user authentication and access control, and a Password Storage Server dedicated to manage and protect user credentials. The system is engineered to provide a reliable and highly secure solution for storing and handling sensitive login information, ensuring user data is protected with AES 256 encryption algorithm.


Table of Contents

API Endpoints

  • Authorization Server:

    • [AuthProtoService.RegisterUser]: register a user
    • [AuthProtoService.Login]: login
    • [AuthProtoService.LoginWithRefreshToken]: login with refresh token
    • [AuthProtoService.RevokeRefreshTokens]: revoke all user refresh tokens
  • Password Server:

    • [PasswordProtoService.CreatePassword]: add a new password
    • [PasswordProtoService.UpdatePassword]: update an existing password
    • [PasswordProtoService.DeletePassword]: delete a password
    • [PasswordProtoService.GetPasswords]: get all user passwords by UserID

Note: All Password Server endpoints require a valid JWT token in the Authorization header.

Tech Stack

  • .NET 9
  • gRPC
  • PostgreSQL
  • Marten
  • Wolverine
  • EF Core

Architecture Overview

  • Clean Architecture
  • CQRS + Event Sourcing

Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/your-feature).
  3. Commit your changes (git commit -m 'Add your feature').
  4. Push to the branch (git push origin feature/your-feature).
  5. Create a pull request.

License

Distributed under the MIT License. See LICENSE for more information.

Releases

No releases published

Packages

 
 
 

Contributors

Languages