Introduction to API Architecture Types

Introduction to API Architecture Types

An API, or Application Programming Interface, is a set of protocols and tools for building software and applications. It specifies how software components should interact, allowing for communication between different systems, and enables the exchange of data between them. APIs provide a way for different software systems to interact with each other, allowing for integration and automation of specific tasks. In this post, we will be taking an introductory look at the different architecture types available to developers when designing their APIs....

1 February 2023 · 4 min · Martyn
Azure App Configuration Feature Targeting in Angular

Azure App Configuration Feature Targeting in Angular

Azure App Configuration has a great feature known as feature flags. This allows you to control aspects of your application using flag which determine if a feature is available or not. In this post we look at retrieving settings using an Angular service. Standard Features One of the most basic implementations is to have flags defined with a simple boolean true or false to determine the state of that feature....

25 March 2022 · 5 min · Martyn

Auto-Scaling .NET Core Web API Containers

In this post, we take a look at how to make sure you .NET Core Web API containers work well in auto-scalaing scenarios on Azure Kubernetes Service. When you first access a newly released .NET Core Web API, even locally, does not have to be in a container, you will notice the first request is slow. You can see this with the following output, it’s just from a brand new scaffolded project using the ....

20 October 2021 · 3 min · Martyn

Protecting Web APIs Using Microsoft Identity Platform: Part 3

The following posts are part of this series: Part 1: Creating your App Registration Part 2: Configuring your code Part 3: Securing your API endpoints In the previous post, we looked at the setup of your code to start accepting bearer tokens for authentication. Now we are looking at the validation of these tokens and how to verify scopes in your API controllers. Token validation A number of validators exist for you to validate aspects of the token to ensure you can trust the token you have been passed....

11 August 2021 · 4 min · Martyn

Protecting Web APIs Using Microsoft Identity Platform: Part 2

The following posts are part of this series: Part 1: Creating your App Registration Part 2: Configuring your code Part 3: Securing your API endpoints Defining protected First of all, let’s look at what we mean by protected. Much like in ASP.NET, in ASP.NET Core, you can use the [Authorize] attribute to define that your controller must be called with an authorised identity. We pass what is known as a bearer token as a Authorization header in our API requests, this holds information about the identity as well as user information unless the web app accepts calls from a daemon....

11 August 2021 · 3 min · Martyn

Protecting Web APIs Using Microsoft Identity Platform: Part 1

The following posts are part of this series: Part 1: Creating your App Registration Part 2: Configuring your code Part 3: Securing your API endpoints Let’s begin I’m not going to cover the steps involved in creating an app registration. This is covered, in detail, in the Microsoft documentation. In this article though, I want to point out some important things. Token versions The platform enables the generation of two token verions, v1....

4 August 2021 · 3 min · Martyn

Azure App Configuration in .NET 5 Azure Functions

A number of changes affect the operation of Azure Functions from .NET 3 to .NET 5. In this post, we look at integrating with Azure App Configuration. Recently, Microsoft announced the availability of support for .NET 5 in Azure Functions. Upgrading is a little more complicated than usual. Normally we would just change netcoreapp3.1 over to net5.0 and have done with it. Not this time. Historically, Azure Functions have always been tightly coupled with the version of the runtime, Long Term Support (LTS) specifically....

22 June 2021 · 3 min · Martyn

Call the Azure REST API using Microsoft Identity Web

The Microsoft Identity Platform provides developers with the opportunity to make use of v2.0 endpoints to develop their applications. In .NET Core this is the Microsoft.Identity.Web package. This library is specifically written for applications fulfilling either of the two scenarios below: Web applications which sign in users and call web APIs Protected web APIs which call downstream web APIs A simple way of explaining this would be saying that you have a web application which is responsible for connecting to the Microsoft Graph API to authenticate and authorise users and make subsequent calls to the Graph API....

12 April 2021 · 3 min · Martyn