Senior Identity Management Engineer
Uwierzytelnianie, które działa na produkcji
Projektuję i wdrażam uwierzytelnianie, autoryzację i SSO w Microsoft Entra ID i Azure AD B2C, tak żeby rozwiązanie nadążało za rozwojem firmy. Przy bardziej złożonych uprawnieniach, do poziomu pojedynczych zasobów, korzystam z OpenFGA. Z .NET pracuję od 17 lat, z Azure od 2010.
header
{ "alg": "EdDSA", "typ": "JWT", "kid": "edgarus-sample" }payload
{"iss": "https://edgarus.eu","sub": "przemyslaw-gawdzik","name": "Przemysław Gawdzik","role": "Senior Identity Management Engineer","scp": "entra-id azure-ad-b2c oauth2 oidc dotnet","azure_since": 2010,"dotnet_years": 17,"degree": "inżynier, sieci komputerowe i systemy rozproszone"}
signature
U0S2Xy8WLOa-6X48NrPWV5GbIzrb2PG548c-RUI9VZDTy0jXeRTAJECgffXPiPuDNVF01ILg09nDcTmadJ5CCg
podpis zweryfikowanypodpis nieprawidłowy
- azure_since
- 2010, zaczynałem jako trener Windows Azure
- dotnet_years
- 17, C# i ASP.NET Core
- identity
- Entra ID, External ID, Azure AD B2C
- authorization
- OAuth 2.0, OIDC, OpenFGA
Czym się zajmuję
Backend, dostęp i wdrożenia w praktyce się przenikają, więc w projekcie zwykle odpowiadam za wszystkie trzy.
identity
Uwierzytelnianie i dostęp
Jak użytkownicy się logują, co mogą zrobić i jak aplikacje łączą się ze sobą. Na co dzień to Microsoft Entra ID, External ID, Azure AD B2C, OAuth 2.0 i OpenID Connect, a tam, gdzie mają sens, także SSO i MFA. W OpenFGA opisuję uprawnienia jako relacje między użytkownikami a zasobami, jak w przykładowym modelu.
Entra ID, Azure AD B2C, External ID, OAuth 2.0, OIDC, OpenFGA, CIAM
model
schema 1.1
type user
type tenant
relations
define member: [user]
define admin: [user]
type document
relations
define org: [tenant]
define viewer: [user] or member from org
define editor: [user] or admin from orgbackend
Bezpieczne aplikacje w .NET
Tożsamość nie kończy się na konfiguracji w Entra ID. Buduję też same aplikacje w C# i ASP.NET Core: API, które weryfikują tożsamość, egzekwują uprawnienia i realizują logikę biznesową oraz integracje. DDD, TDD i SOLID pilnują, żeby kod był czytelny, przetestowany i łatwy do zmiany.
C#, ASP.NET Core, polityki autoryzacji, DDD, TDD
delivery
Od kodu do wdrożenia
Azure, kontenery i CI/CD, żeby wdrożenie było nudne i powtarzalne. Infrastrukturę trzymam w kodzie, a konfigurację w repozytorium. Po wdrożeniu czytam logi, metryki i ślady żądań, bo chcę wiedzieć, co naprawdę się dzieje. Nowe pomysły z sieci, bezpieczeństwa i automatyzacji sprawdzam najpierw w homelabie, zanim trafią do klienta.
Azure, CI/CD, kontenery, OpenTelemetry, homelab
Open source
Publikuję jako Edgarus79 w organizacji edgarus-labs na GitHubie
Code Janitor
Sprząta i modernizuje kod C# w Visual Studio i VS Code, żeby nie trzeba było robić tego ręcznie.
VS 2026, VS Code · C# · LGPL-3.0
Strona projektuClaude Code VS
Claude Code w Visual Studio, bez wychodzenia ze środowiska.
VS 2022, 2026 · Agent Client Protocol · MIT
Strona projektuoh-my-pi
Agent oh-my-pi w Visual Studio i VS Code, z natywnymi diffami i kontrolą nad edytorem.
VS 2022, 2026, VS Code · OMP JSONL RPC · MIT
Strona projektu
O mnie
Projektuję i buduję rozwiązania tożsamościowe w Azure, w tym systemy CIAM. Odpowiadam za całość: architekturę, kod, automatyzację, infrastrukturę i utrzymanie produkcji.
Mam tytuł inżyniera w zakresie sieci komputerowych i systemów rozproszonych (WSPA w Lublinie).
doświadczenie
- 2022-2024Senior .NET Developer, Cloud Infrastructure ConsultantPredica (obecnie SoftwareOne)
- 2019-2022Senior Software Developer, ConsultantCloudTeam
- 2011-2019Software Developer, ConsultantAction Centrum Edukacyjne
- 2010-2011Windows Azure Trainer, Consultant, DeveloperABC Data Centrum Edukacyjne
Jak pracuję
Testy
Test ma sens wtedy, gdy pada przy prawdziwej regresji, także w nietypowych przypadkach. Test, który przechodzi mimo błędu w kodzie, niczego nie chroni.
Testy jednostkowe obejmują reguły, obliczenia i przypadki brzegowe w izolacji. Integracyjne sprawdzają, czy API, baza danych i uwierzytelnianie działają razem. End-to-end przechodzą najważniejsze ścieżki użytkownika, także te, w których coś idzie nie tak.
Dostarczanie
Zanim wybiorę narzędzie, pytam, co ma działać, kto będzie z tego korzystać i kto to potem utrzyma.
Wolę małe zmiany, które łatwo przejrzeć, przetestować i naprawić. Czytelny kod, sensowne logi i zapisane decyzje są ważne, bo następna osoba, która otworzy projekt, to często ja.
Masz coś do zbudowania albo naprawienia?
Formularz trafia prosto do mojej skrzynki.
Wolisz LinkedIn? Napisz do mnie tam
Bez plików cookie i bez analityki. Motyw dopasowuje się do ustawień systemu. Po zmianie języka strona pamięta do 30 sekund, w którym miejscu czytasz, żeby druga wersja otworzyła się w tym samym miejscu.