The Quest for the Perfect Identity Provider: A Journey of Authentication and Authorization
I’ve been on a mission to find the perfect identity provider for my self-hosted services, and I’m excited to share my journey with you. As someone who hosts services at friends’ and family members’ homes, I needed a solution that would allow each site to have its own instance for fast local authentication, even during a WAN outage.
The Search Begins
I started with Authentik, which had been my go-to identity provider for a long time. However, I soon realized that it didn’t meet my requirements for multi-master replication, which would allow each site to have its own instance. That’s when I stumbled upon KanIDM, an open-source provider that seemed to fit the bill.
KanIDM is incredibly feature-rich and lightweight, making it an attractive option. It also has a Unix daemon, which means I can use the same accounts to authenticate on my Linux servers. The only other alternative I could find was FreeIPA, but it was much more complicated to set up and didn’t have a native OIDC/OAuth provider.
The Pain Points of KanIDM
While KanIDM has been a great solution for my needs, it’s not without its pain points. The biggest issue is the lack of a comfortable management UI, which makes it difficult to manage users and applications. There’s also no real onboarding UI, which means new users have to be manually created and provided with a signup link. This can be a bit of a hassle, especially when you have multiple users to manage.
Despite these issues, I’ve found that the advantages of KanIDM outweigh its disadvantages. I don’t have to create new users or applications often, so the lack of a management UI isn’t a major concern for me. However, I do wish there was a more streamlined process for onboarding new users.
A Balancing Act
One of the biggest challenges I’ve faced is balancing the need for a reliable identity provider with the complexity of setting up and managing multiple instances. There have been times when I’ve considered going back to Authentik and having a single central cloud instance. However, this would mean sacrificing the ability to have each site authenticate locally during a WAN outage.
This is a critical consideration for me, as some of my services, such as Frigate NVR and Home Assistant, are essential for my home setup. I wouldn’t want to lose access to these services during an outage, and having a local authentication instance ensures that I can still access them even if the WAN connection is down.
Lessons Learned
Throughout my journey, I’ve learned a few valuable lessons about identity providers and authentication. First and foremost, it’s essential to prioritize your needs and requirements when selecting an identity provider. In my case, multi-master replication was a must-have, and KanIDM delivered on that front.
I’ve also learned that it’s crucial to weigh the pros and cons of each solution carefully. While KanIDM has its pain points, the advantages it offers make it a worthwhile trade-off for me. Ultimately, the key to finding the perfect identity provider is to be clear about your needs and to be willing to compromise on certain features or functionality.
If you’re in the market for an identity provider, I hope my story has been helpful in giving you a glimpse into the complexities and considerations involved. Remember to prioritize your needs, weigh the pros and cons, and don’t be afraid to ask for help or advice along the way.
Odwiedzamy Poszukiwania Idealnego Dostawcy Tożsamości: Podróż Autentykacji i Autoryzacji
Zostałem wysłany na misję, aby znaleźć idealnego dostawcę tożsamości dla moich usług hostowanych, i jestem podekscytowany tym, że mogę się tym podzielić z tobą. Jako osoba, która hostuje usługi u przyjaciół i członków rodziny, potrzebowałem rozwiązania, które pozwoliłoby każdej witrynie na posiadanie własnej instancji do szybkiej lokalnej autentykacji, nawet podczas awarii WAN.
Początek Poszukiwań
Zacząłem z Authentik, który był moim ulubionym dostawcą tożsamości przez długi czas. Jednak szybko zrozumiałem, że nie spełniał moich wymagań dotyczących replikacji multi-master, która pozwoliłaby każdej witrynie na posiadanie własnej instancji. To było wtedy, kiedy natknąłem się na KanIDM, dostawcę open-source, który wydawał się spełniać moje wymagania.
KanIDM jest niesamowicie bogaty w funkcje i lekki, co czyni go atrakcyjną opcją. Ma również demona Unix, co oznacza, że mogę używać tych samych kont do autentykacji na moich serwerach Linux. Jedyną inną alternatywą, którą mogłem znaleźć, był FreeIPA, ale był znacznie bardziej skomplikowany w konfiguracji i nie miał natywnego dostawcy OIDC/OAuth.
Ból Głowy KanIDM
Pomimo że KanIDM był great rozwiązaniem dla moich potrzeb, nie jest pozbawiony bólu głowy. Największym problemem jest brak wygodnego interfejsu zarządzania, co utrudnia zarządzanie użytkownikami i aplikacjami. Nie ma również prawdziwego interfejsu onboarding, co oznacza, że nowi użytkownicy muszą być ręcznie tworzeni i zaopatrzeni w link do zapisu. Może to być trochę kłopotliwe, zwłaszcza gdy masz wielu użytkowników do zarządzania.
Pomimo tych problemów, stwierdziłem, że zalety KanIDM przewyższają jego wady. Nie muszę tworzyć nowych użytkowników lub aplikacji często, więc brak interfejsu zarządzania nie jest dla mnie dużym problemem. Jednak życzyłbym sobie, aby był bardziej przystępny proces onboarding nowych użytkowników.
Równowaga
Jednym z największych wyzwań, z którymi się zmierzyłem, jest równowaga pomiędzy potrzebą niezawodnego dostawcy tożsamości a złożonością konfiguracji i zarządzania wieloma instancjami. Były momenty, kiedy rozważałem powrót do Authentik i posiadanie jednej centralnej instancji chmurowej. Jednak oznaczałoby to poświęcenie możliwości posiadania lokalnej autentykacji w każdej witrynie podczas awarii WAN.
To jest kluczowe rozważanie dla mnie, ponieważ niektóre z moich usług, takie jak Frigate NVR i Home Assistant, są niezbędne dla mojego domowego setupu. Nie chciałbym stracić dostępu do tych usług podczas awarii, a posiadanie lokalnej instancji autentykacji gwarantuje, że mogę nadal uzyskać do nich dostęp, nawet jeśli połączenie WAN jest niedostępne.
Lekcje Nauczone
Przez całą moją podróż, nauczyłem się kilku cennych lekcji o dostawcach tożsamości i autentykacji. Po pierwsze, jest niezwykle ważne, aby priorytetem były twoje potrzeby i wymagania przy wyborze dostawcy tożsamości. W moim przypadku replikacja multi-master była must-have, i KanIDM spełnił to wymaganie.
Nauczyłem się również, że jest kluczowe, aby ważyć zalety i wady każdego rozwiązania starannie. Pomimo że KanIDM ma swoje bóle głowy, zalety, które oferuje, sprawiają, że jest to wartościowa wymiana dla mnie. Ostatecznie, kluczem do znalezienia idealnego dostawcy tożsamości jest to, aby być jasnym co do swoich potrzeb i być skłonnym do kompromisu w pewnych funkcjach lub funkcjonalności.
Jeśli jesteś na rynku w poszukiwaniu dostawcy tożsamości, mam nadzieję, że moja historia była pomocna w dając ci wgląd w złożoności i rozważania, które są zaangażowane. Pamiętaj, aby priorytetem były twoje potrzeby, ważyć zalety i wady, i nie bój się prosić o pomoc lub radę w drodze.