Piotr Stola
2 supporters
Microsoft Identity for .NET with OSS Lit ...

Microsoft Identity for .NET with OSS LiteDB.Identity

Feb 13, 2024

Probably, from time to time, like most of developers, you have been thinking about how to start or contribute into Open Source Software (OSS).
I was struggling with this thought for several months, maybe even more. Constant lack of time, missing specific idea, don’t know how or where
to start, these were my excuses. The answer actually was quite simple, stop thinking about it — just do it !

Inspiration

I was inspired by Adam Sitnik speech “My awesome journey with Open Source” given at the UCP2019 conference, witch I saw on YouTube¹. Strongly recommend to watch it, if you want to discover how to start contributing to OOS. Taking Adam’s advice, I decided it’s enough to think and look for excuses - it’s time to act.

Not long ago I was googling to find a simple single file database for my next web application. I wanted something that will be fast, easy to implement and of course .NET Core based. That’s how I found LiteDB² project, created by Maurício David, Cassiano Sombrio and Leonardo Nascimento. Simple embedded, NoSQL database that can be easily incorporated into .NET Core project. I decided to choose it.

Need of knowing more about project, lead me to it GitHub source³. I’ve cloned a solution locally and started to explore it. Next, developed simple project to check LiteDB possibility in action and I loved it !
Simple API, great documentation, straight forward examples, give me real fast start.

Action

I knew, that my next web project will also require Microsoft ASP.NET Core Identity to enable users login, creating and manipulating users accounts. This is how the LiteDB.Identity⁴ project was born!

LiteDB.Identity is implementation of ASP.NET Core Identity with LiteDB 5.0.8. database. Project goal is to re-implement 100% of interfaces and use cases from original Microsoft Identity, starting up from Users, Roles, Claims, external Logins and Tokens.

Status implementation for Identity Stores

After adding LiteDB.Identity NuGet references to a project, initial implementation should be quick and easy for developers. To allow them rapidly implement identity functionalities in theirs projects, by well know UserManager and RoleManager object instances.

I’ll blog more details about LiteDB.Identity configuration and implementations in next posts. Stay tuned.

During past couple of weeks I’ve learned a lot! When most of us is working from home #WFH during these days — OSS contribution is a great opportunity to learn, grow, exchange knowledge and ideas, discover new best practices and create or participate in valuable open solutions.

Summary

This is the beginning of a great adventure that I have put aside for too long.
At the end I would like to refer to readers 40+. Do you think you are too old for this? It’s just another excuse, my favorite one ;)
My name is Piotr Stola, I’m husband and father of 3, leading Quick-Solution a .NET consultancy company — I’ve started my first OSS project, and this is my first blog post! What is your excuse?

Thank you for reading. I hope you enjoyed it and soon I’ll hear about your OSS project. To the next time.

References :

¹) Adam SITNIK: My awesome journey with Open Source | UCP2019
https://www.youtube.com/watch?v=kC1Jc5lhSO8
²) LiteDB.org — Embedded NoSQL database for .NET — main page
³) LiteDB — GitHub source code 
⁴) LiteDB.Identity — GitHub source code
⁵) https://www.nuget.org/packages/LiteDB.Identity/

Enjoy this post?

Buy Piotr Stola a coffee