Kirk Evans Blog

.NET From a Markup Perspective

Azure Web App Client Certificate Authentication with ASP.NET Core

This post will walk through securing an ASP.NET Core application deployed to an Azure Web App that is secured using client certificates. The code is available for download at ClientCertDemo.  Background Many customers have implemented client certificates for older web applications and are looking at Azure Web Apps to move their code.  A common question… Read more

Creating ARM Templates with Azure Resource Explorer

This post will show how to use Azure Resource Explorer to assist in creating Azure Resource Manager templates. Background My team at Microsoft is busy on the road delivering a series of workshops to our top partners around the world.  One of the sessions that I put together for the workshop is called “Architecting Global… 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

Call O365 Exchange Online API from a SharePoint App

This post will show how to call an O365 Exchange Online API from a SharePoint provider-hosted app.  The code for this post is available at https://github.com/kaevans/spapp-exchange.  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… Read more

An Architecture for SharePoint Apps That Call Other Services

This post will show an architecture for a SharePoint provider hosted app that calls other services such as the O365 API for Exchange, Azure AD Graph API, PowerBI API, or a custom Web API. Background This post is part of a series on building a SharePoint app that communicate with services protected by Azure AD…. Read more

Making SharePoint Apps Scale with Azure Redis Cache

This post will show how to create custom classes for a SharePoint 2013 app that enable the use of Azure Redis Cache. Background Often times there are web application design constraints that require use of session state.  From Scott Guthrie’s book: It’s often not practical in a real-world cloud app to avoid storing some form… Read more

How I Built a Branded, Responsive Web Site in a Day

This post will show how I used DNN (formerly DotNetNuke) to build a highly customized, responsive web site in just over 1 day. My Requirements The first requirement was not to become the sole person working on this web site.  I am happy to do stuff like modify branding, do some light coding, and help… Read more

Call Multiple Services With One Login Prompt Using ADAL

This blog will show how to create a client application using Active Directory Authentication Library (ADAL) that authenticates to multiple Web API applications in Azure Active Directory while only prompting the user a single time for credentials. Background I wrote a previous post that showed how you can create your own Web API that enables… Read more

Calling O365 APIs from your Web API on behalf of a user

This post will show how to create a custom Web API that calls the Office 365 APIs on behalf of a user. Background How about that title?!?  That’s pretty geeky. I’ve been working with a customer who is interested in the new Office 365 APIs that were announced at SharePoint Conference.  They are building multiple… Read more

Deploying a SharePoint App to Azure As Part of a Build

This post will show how to use continuous integration with a SharePoint provider-hosted app deployed to an Azure web site. Background I’ve written on the topic of SharePoint apps and ALM before, but I couldn’t get the whole thing to work with Azure web sites, just my own IIS server.  I decided it was too… Read more