tuitio/README.md

1.6 KiB

Tuitio

Tuitio is a simple identity server implementation focused strictly on the needs of my home lab. At the moment it has a simple API consisting of only two methods:

  • /identity/authenticate - handles user authentication using credentials and generates an access token.
  • /identity/authorize - manages the authorization process for a token, including verification of its existence, validity, and authenticity.

Tuitio is a latin word that encompasses meanings such as supervision, safeguarding, defense, guard duty, and protection.

Database

Currently, the database server supported by the system is only Microsoft SQL Server. In the following versions, the system will also be compatible with PostgreSQL and SQLite.

Logging

The logging functionality is managed with Serilog, and its configuration is done in the appsettings.json file. In addition to its standard configuration, Tuitio also has a preconfigured area where two destinations for logs are available: SqlServer database and Seq. Each of the destinations can be activated or not. If logging in the console is sufficient, all additional logging destinations can be disabled. This configuration area is:

"Logs": {
  "SqlServer": {
    "Enabled": false,
    "Connection": "Server=<server>;Database=<database>;User Id=<user>;Password=<password>;"
  },
  "Seq": {
    "Enabled": false,
    "Url": "",
    "ApiKey": ""
  }
}

Hosting

The only hosting environment tested for this service is Docker, but considering that .NET 6 is cross platform, it can most likely be hosted in any environment.

Stack

  • .NET (C#)
  • EntityFramework
  • SQL Server
  • Swagger
  • Docker
  • Seq