Uwierzytelnianie,które działa naprodukcji.

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.

id_tokenprzykład

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 · EdDSA

Kr4R1KsS4b_2qJB2ROdmiP5Q5VTA3lPOKLoKkfPDX5Rdb689xCIvYpfkZ1mF7geHbrrYpMp8PlOoJitqNm1YBA

signature verifiedsignature check failed

Przemysław Gawdzik

Senior Identity Management Engineer · Entra ID · Azure AD B2C · .NET

Projektuję i buduję rozwiązania tożsamościowe w Azure, w tym systemy CIAM. Odpowiadam za całość: od architektury, przez kod i automatyzację, po infrastrukturę i utrzymanie produkcji.

Rozwijam też projekty open source jako Edgarus79, w organizacji edgarus-labs. Mam tytuł inżyniera w zakresie sieci komputerowych i systemów rozproszonych (WSPA w Lublinie).

Masz coś do zbudowania albo naprawienia? Formularz na dole strony trafia prosto do mojej skrzynki.

  1. 2022 – 2024Senior .NET Developer / Cloud Infrastructure ConsultantPredica (obecnie SoftwareOne)
  2. 2019 – 2022Senior Software Developer / ConsultantCloudTeam
  3. 2011 – 2019Software Developer / ConsultantAction Centrum Edukacyjne
  4. 2010 – 2011Windows Azure Trainer / Consultant / DeveloperABC Data Centrum Edukacyjne

Open source.
Na licencjach MIT i LGPL.

Kilka projektów, które rozwijam publicznie. Kod, zgłoszenia i wydania są w repozytoriach, więc tam wszystko jest aktualne.

Czym się zajmuję
na co dzień.

W praktyce te obszary się przenikają: backend, dostęp i wdrożenia. Homelab to miejsce, gdzie testuję nowe rzeczy, zanim użyję ich w prawdziwym projekcie.

Uwierzytelnianie i dostęp.

Zajmuję się tym, 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.

  • Entra ID
  • Azure AD B2C
  • OAuth 2.0
  • OIDC
  • OpenFGA
  • CIAM

Bezpieczne aplikacje w .NET.

Tożsamość nie kończy się na konfiguracji w Entra ID. Buduję również aplikacje w C# i ASP.NET Core — API, które weryfikują tożsamość, egzekwują uprawnienia i realizują logikę biznesową oraz integracje. Stosuję DDD, TDD i SOLID, aby kod był czytelny, dobrze przetestowany i łatwy do rozwijania oraz utrzymania.

  • C#
  • ASP.NET Core
  • Autoryzacja
  • DDD
  • TDD

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.

  • Azure
  • CI/CD
  • Kontenery
  • OpenTelemetry

Miejsce na eksperymenty.

W swoim homelabie testuję sieci, zabezpieczenia i automatyzację, zanim użyję ich w projekcie.

  • Homelab
  • Bezpieczeństwo
  • Sieci
  • Automatyzacja

Jak testuję.

Testy mają łapać błędy,
a nie zbierać procenty.

Celuję w testy, które łapią regresje: test ma padać, gdy zachowanie się psuje, także w nietypowych przypadkach. Test, który przechodzi mimo błędu w kodzie, niczego nie chroni.

Testy jednostkowe.

Reguły, obliczenia i przypadki brzegowe, w izolacji.

Testy integracyjne.

Czy API, baza danych i uwierzytelnianie działają razem.

Testy end-to-end.

Najważniejsze ścieżki użytkownika od początku do końca, także wtedy, gdy coś idzie nie tak.

Jak pracuję.

Najpierw problem.

Zanim wybiorę narzędzie, pytam, co ma działać, kto będzie z tego korzystać i kto to potem utrzyma.

Małe kroki.

Wolę zmiany, które łatwo przejrzeć i przetestować. Mniejsze wdrożenia łatwiej też naprawić.

Z myślą o utrzymaniu.

Czytelny kod, sensowne logi i zapisane decyzje. Następna osoba, która to otworzy, to często ja.

Masz coś
do zbudowania?

Wszystkie pola są wymagane.

Od 5 do 5000 znaków.

Strona nie używa plików cookie ani analityki i nie zapisuje niczego na stałe w przeglądarce. Po zmianie języka pamięta do 30 sekund, w którym miejscu czytasz, żeby druga wersja otworzyła się w tym samym miejscu.

Formularz sprawdza pod kątem spamu Cloudflare Turnstile, który działa w tle. Wysyłając wiadomość, przyjmujesz do wiadomości Turnstile Privacy Addendum firmy Cloudflare.

Szczegóły przetwarzania danych

Imię, adres e-mail i treść wiadomości wykorzystuję tylko po to, żeby odpowiedzieć. Wiadomość dociera do mnie przez serwis Resend. Nie profiluję tych danych, nie sprzedaję ich i nie używam do marketingu.

Wolisz LinkedIn? Napisz do mnie tutaj ↗