Jekyll2024-08-01T10:30:01-05:00https://www.devprotocol.com/feed.xmlDevProtocolA blog about dotnet, Azure cloud integrations and identity.Jan TourlamainMicrosoft Entra ID fails YubiKey users on Firefox for Linux2024-07-31T00:00:00-05:002024-07-31T00:00:00-05:00https://www.devprotocol.com/2024/07/31/microsoft-entra-id-fails-yubikey-users-on-firefox-for-linuxJan TourlamainWe all know the statements that Microsoft made about linux. They love Linux. They even wrote a blogpost about it. But that love falls short when you use Firefox on Linux. In my research on identity and access management, I have been exploring various login options. One of the approaches I tested is passwordless login using technologies like WebAuthn and YubiKey support. I experimented with this on various operating systems, browsers and Identity Providers, including Microsoft Entra ID.Expose a subset of your openapi spec on azure APIM2023-06-30T00:00:00-05:002023-06-30T00:00:00-05:00https://www.devprotocol.com/2023/06/30/expose-a-subset-of-your-openapi-spec-on-azure-apimJan TourlamainSometimes you don’t want to expose all the operations of your API on APIM. For example, you might have an API that has a lot of operations, but you only want to expose a subset of those operations on APIM. Or you might have an API that has operations that are not meant to be called by external consumers. In this post, I’ll show you how you can expose a subset of your openapi spec via Azure devops on APIM.Azure B2C token validation with dotnet core2022-09-06T00:00:00-05:002022-09-06T00:00:00-05:00https://www.devprotocol.com/2022/09/06/azure-b2c-token-validation-with-dotnet-coreJan TourlamainOver the years Microsoft has released ceveral libraries for authentication. We had ADAL. It was ok at the time, but didn’t work with the Azure AD 2.0 authorization endpoints. After some time we got the MSAL library, but it took a while before it was usable. Now new libraries are on the horizon to make it easier for the developers. Well … the constant change of libraries doesn’t make it easier for developers.Expose openapi documentation on Azure API Management2021-07-20T00:00:00-05:002021-07-20T00:00:00-05:00https://www.devprotocol.com/2021/07/20/expose-openapi-documentation-on-azure-api-managementJan TourlamainAzure API management automatically exposes openapi documentation through the developer portal. But what if your company doesn’t activate the portal? This article describes how you can make the openapi documentation available through your API.Use policy expressions with named values in Azure API management2020-01-28T00:00:00-06:002020-01-28T00:00:00-06:00https://www.devprotocol.com/2020/01/28/use-policy-expressions-with-named-values-in-azure-api-managementJan TourlamainWhen deploying your Azure API management via ARM templates you want to avoid putting environment depending variables in your template files. But injecting all settings via a parameter file is sometimes easier said than done. In my case, I needed to set an API policy to verify a certificate thumbprint. And that simple thing took me a few hours.Use your private linked ARM templates with ease2019-08-15T00:00:00-05:002019-08-15T00:00:00-05:00https://www.devprotocol.com/2019/08/15/use-your-private-linked-arm-templates-with-easeJan TourlamainEveryone that worked with ARM templates knows that they are error prone. More often than not it’s a struggle get them right. So, if you don’t want your team to wonder if that 6th floor window isn’t an easier way out, you provide them reusable templates. One problem with linked templates is that they must be publicly available. As not all companies want their resources be publicly exposed, you need to find another way.Application Insights setup for dotnet core 2.12019-08-12T00:00:00-05:002019-08-12T00:00:00-05:00https://www.devprotocol.com/2019/08/12/application-insights-setup-for-dotnet-core-2-1Jan TourlamainApplication Insights is often used for logging, but did you really read the name? The goal of Application Insights is getting a good insight view of how your application is working.ARM your dev pipe with CALM2019-05-10T00:00:00-05:002019-05-10T00:00:00-05:00https://www.devprotocol.com/2019/05/10/arm-your-devpipe-with-calmJan TourlamainNowadays starting a new project demands a lot knowledge. Besides your programming skills, you also need to know source control, continuous integration and delivery techniques as well as taming cloud solutions. As the time to market decreases and agile working increases your releases, you better start thinking about automating your CI/CD pipeline.Integrate Azure AD in your Giraffe web app2018-08-14T00:00:00-05:002018-08-14T00:00:00-05:00https://www.devprotocol.com/2018/08/14/integrate-azure-ad-in-your-giraffe-web-appJan TourlamainDotnet core, Azure AD, OAuth and openid connect are all exiting technologies. In this post I will combine them in a Giraffe web application.Use appsettings in a Giraffe web app2018-04-19T00:00:00-05:002018-04-19T00:00:00-05:00https://www.devprotocol.com/2018/04/19/use-appsettings-in-a-giraffe-web-appJan TourlamainDuring the learning of F# the inevitable question arises on how to use the language for your day to day tasks. You can create a web site using F# using the Giraffe framework. The framework can be found on github. The most amazing part that I found is their documentation. A lot can be found to get you started. A missing piece in tutorials is how to use an appsettings.json file with the Giraffe framework, and that’s what this post is about.