A Comprehensive Overview of Our SSO Implementation

Identity Provider Story Basic assumptions: in-browser authentication, with OAuth2/OpenID Connect (but also applicable for SAML), for Web, SPA and Mobile applications. Let’s start with a story: The user enters the address ‘https://portal.my-company.com’ to check company news; without an active session in the application (cookie or token), the application will be redirected to the Identity Provider (IdP) - authentication is required. After the identity verification and authorization, an IdP session will be created and the user redirected to the application. ...

March 27, 2025 · Mateusz Jendza

Temporary Mailboxes

TR;DR We often use https://www.minuteinbox.com/ to test CIAM solutions with unique email addresses, but is it perfect? With our domain and OpenTrashmail, we can improve our solution. After a year or two, we can still activate the old account (reset password or OTP access) - it is not possible via 10 min mail (the domain for email is changing, and the old one is not accessible). Setting Up OpenTrashmail with Your Domain for E2E Testing Email testing is often a critical part of end-to-end (E2E) testing for applications that send notifications, verification codes, or other important communications. Running our disposable email service gives you full control over test mailboxes and simplifies your testing workflow. Here’s how to set up OpenTrashmail: ...

March 4, 2025 · Mateusz Jendza

Entra External ID Token Enrichment

What is Token Enrichment? Entra External ID token enrichment is a process where additional claims, attributes, or context are added to authentication tokens (ID Token, Access Token or both) during the authentication flow. This enrichment enhances the security token with supplementary information that can be useful for authorization decisions and user context. Common examples include: Customer ID from your CRM system User ID from an external profile store Authorization context from your application Role information from Fine-Grained Authorization systems like OpenFGA The enrichment happens through a REST API call with a fixed contract defined by the Entra ID team. At the end of this post, you’ll find the complete API contract specification. ...

February 3, 2025 · Mateusz Jendza

Build faster with AI Assist!

TL;DR I’m using AI tools to generate code for my projects. Here I want to show you GitHub Copilot, Bolt, Aider, and GitHub Copilot Workspace. I’m happy with the results from Aider with the Claude AI model, and Bolt is perfect for generating a nice starting point for my front-end projects. GitHub Copilot is ideal for small code snippets. Introduction Happy New Year! This post will be my summary and notes on how I use AI daily as a software developer, or maybe it will be better to name it proof of concept or demo developer ;) I will focus only on the tools that help me write/generate the code. ...

January 8, 2025 · Mateusz Jendza

Entra ID as a Code

Make life easier with Entra ID as Code TL;DR It is the end of 2024; daily, we use the following: CI/CD pipelines for infrastructure as code (IaC) deployment to create Services, Applications, Storages, etc, permissions (RBAC) from resources to resources (App Service WebApp1 should read Blob Storage WebApp1Storage), secrets, we hate them, but we found a solution to avoid secrets with Managed Identity and Workload Identity solutions, What is the plan for us? We will use Azure Portal and Entra ID blade to manage our applications, permissions, and secrets. We can create and update our app registrations via the browser. Can we improve our Entra ID and Entra External ID with IaC, as shown in the screenshot (Picture 1) below? ...

November 28, 2024 · Mateusz Jendza

Testing on production

Blue-green deployment starter pack. TL;DR I want to share a simple way to start with blue-green deployment. From the diagram to the working solution. Please check my sample GitHub repository with the bicep sample for Azure FrondDoor and Azure App Service (two instances). Reason I want to start with the meme - but it is not - it is a real case! Do you want to check the newest .Net Framework with your (legacy) application? Or do you want to test a clean deployment process for your infrastructure? In the perfect scenario, 100% test coverage and integration and E2E tests for each service and delivery team will bring you 99.99% confidence in the deployment process. But in the real world, I’m not blaming, but the standard case is that a secret, password, or production endpoint can fail and disable the whole application for seconds, minutes, or hours. ...

November 18, 2024 · Mateusz Jendza

Magic Link

Welcome to the Magic World Technical Details Magic Link - (link with the magic) - like the name is a URL - a link to the action (Internet page). Example : https://corp.io/sign-in?id_token_hint=bWFnaWMgbGluaw== (decode the token from Base64 to see what is inside). To make the public communication secured - a common implementation is JWT (Json Web Token) with JWKS (Json Web Key Sets). The payload is JSON - easy to interpret. ...

October 11, 2024 · Mateusz Jendza

Deep Dive with Entra External ID

Tl;dr I will show you typical CIAM challenges, scenarios, diagrams, and links to the repositories with the implementation of the new Azure Service—Entra External ID for Customers (CIAM). Big Picture Link to bigger picture. Introduction Entra External ID for Customers is a new Azure Tenant type that allows you to create digital identities for your customers. It is a separate tenant type, not connected with your organisation’s tenant. I want to show you typical CIAM challenges with the diagram (big picture). We will go through the diagram step by step, and I will show you possible solutions. ...

October 1, 2024 · Mateusz Jendza

Verified ID Business Case: VC as payment method

TD;DR :megaphone: Announcement :megaphone: The Factorlabs Bank mobile :mobile_phone: application is now available. The primary purpose is to demonstrate the business cases for Verifiable Credentials. Visit the Factorlabs VC Bank on the Google Store at https://play.google.com/store/apps/details?id=eu.factorlabs.android.bank.wallet Details The Verified ID service was used to build a payment system. Big Picture Actors Bank Customer Uses Factorlabs VC Bank Application on the Android device. Can create a bank account. Can use bank account to pay via supported eCommerce websites. Bank System Can create a bank account for the customer. Can transfer money between accounts to support the payment process. Can return account balance. eCommerce Websites Can ask for the bank account number. Can receive the payment. Demo overview ...

September 9, 2024 · Mateusz Jendza

MFA passwordless authentication methods for Entra ID

TL;DR It is not easy for Entra ID Tenant administrators to choose the best authentication method for their employees, vendors, and partners. You must consider the scenario, the environment, and the passwordless technology. I’m focusing only the passwordless MFA authentication methods in the corresponding changes in the Entra ID - the MFA will be required. Side note: Microsoft announced that MFA will be required for a couple of services, like Azure Portal or CLI. The document mentions that Security defaults will force MFA or should be enabled by Conditional Access Policies for users accessing the defined services. We will see how the final implementation will look like (I promise to update the post with the final state). ...

August 19, 2024 · Mateusz Jendza