Kirk Evans Blog

.NET From a Markup Perspective

Securely Upload to Azure Storage with Angular

This post will show you how to securely upload blob content to Azure Storage from an Angular app.  The source code for this solution is available at https://github.com/kaevans/globalscaledemo.  Background Our team has been busy the past few months traveling the globe and hosting readiness workshops for our top global system integrator partners.  One of the… Read more

Visual Studio Release Management, DSC, and Azure VMs

This post will show how to use Visual Studio Release Management with Windows PowerShell Desired State Configuration (DSC) to configure multiple deployment environments and deploy an application.  If you just want to see the big payoff, scroll all the way down to the section “The Big Payoff”. Background I am presenting a series of workshops… Read more

Configure a Point-to-Site VPN Connection to an Azure VNet

This post shows how to create a point-to-site (P2S) VPN connection to an Azure virtual network (VNet).  Background In my previous post, I showed how to create a virtual network configuration XML file and to create several environments (dev, stage, and prod) that are each deployed into a separate subnet.  It’s kind of a goofy… Read more

Creating Dev and Test Environments with Windows PowerShell

This post will discuss creating application environments with Windows PowerShell.  We will use these environments in subsequent posts. Background I have participated in a series of readiness workshops with our top GSI partners.  Part of the workshop includes case studies where we have the participants review requirements and propose solutions within a few constraints.  One… Read more

Deploying Play Framework Apps with the Azure Toolkit for Eclipse

This post shows how to deploy a Play Framework app using the Azure Toolkit for Eclipse. Background I am working on a proof of concept with a customer that has several existing types of applications and is deploying them to Microsoft Azure to better understand application migration capabilities.  One of the application types uses the… Read more

Azure AD Application Proxy and SharePoint 2013

This post will show how to configure Azure Active Directory Application Proxy for an on-premises SharePoint 2013 installation using Kerberos constrained delegation. Background I see this question in emails and online forums alike almost weekly: “We need users to access our on-premises SharePoint farm from their mobile phones.” This usually involves an in-depth conversation about… Read more

Adding Active Directory Certificate Services to a Lab Environment

  This post will show how to add Active Directory Certificate Services to a lab environment. Background I often create a set of virtual machines that include a database, an IIS server, and an Active Directory domain controller.  Frequently I will need to add a certificate for a web site on the IIS server.  While… Read more

Updated Fiddler OAuth Inspector

This post will detail some of the updates made to the Fiddler OAuth inspector and gives examples of how to use it. Background I previously wrote about Creating a Fiddler Extension for SharePoint 2013 App Tokens.  As my friend Andrew Connell let me know, the tool is valuable beyond the context of SharePoint, it is… Read more

The API Economy: Consuming Our Web API from a Single Page App

This post shows how to consume a Web API secured with Azure Active Directory using ADAL.js. Background This post is part of a series on building a SharePoint app that communicate with services protected by Azure AD. Part 1 – An Architecture for SharePoint Apps That Call Other Services Part 2 – Using OpenID Connect… Read more

A Sample SharePoint App That Calls A Custom Web API

This post will show how to create a Web API that calls other services on behalf of the current user. Background This post is part of a series on building a SharePoint app that communicate with services protected by Azure AD. Part 1 – An Architecture for SharePoint Apps That Call Other Services Part 2… Read more