Kirk Evans Blog

.NET From a Markup Perspective

Creating a Node.js Application Secured by Azure AD

This post shows how to create a Node.js application using Node.js, Bash for Windows, Visual Studio Code, and Azure Active Directory.  The final solution is available at https://github.com/kaevans/node-aad.  Background I’ve been a C# .NET developer for the past 17 years  Sure, I’ve coded with other languages (C++, Java, JavaScript, Pascal, F#, Visual Basic, Ruby), but… Read more

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

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

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

Using OpenID Connect with SharePoint Apps

This post will show how to authenticate a user using OpenID Connect in a SharePoint provider hosted app without prompting the user for additional credentials.  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… 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

High Trust SharePoint Apps on Non-Microsoft Platforms

This post will discuss some options for building high-trust apps for SharePoint when the app is not running on a Microsoft platform.  Background Let me start this post by saying I don’t have code to announce or a solution to provide.  I am merely pointing out that building both low-trust and high-trust apps on non-Microsoft… 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