Kirk Evans Blog

.NET From a Markup Perspective

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

Deploy Azure Roles Joined to a VNet Using Eclipse

This post will show how to deploy an Azure worker role running Apache Tomcat using Eclipse, where the worker role is joined to a VNet. Background I have been working with a customer to deploy existing Java applications to Azure.  One of their main requirements is to be able to communicate with on-premises resources using… Read more

Install a New Active Directory forest on an Azure Virtual Network

This post will show how to install a new Active Directory forest on an Azure Virtual Network.  We will use this domain controller and virtual network in subsequent posts. DISCLAIMER: This post does not contain definitive guidance on the correct way to create a domain controller in Azure.  For more definitive guidance, please see TechNet… 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

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

Fixing People Picker for SAML Claims Users Using LDAP

  One of the things that frustrates customers when implementing claims authentication in SharePoint is how the people picker works for SAML claims users.  If you try to add a SAML claims user to a group in SharePoint, anything you type is considered valid.  For instance, I don’t have a user named “THIS IS NOT… Read more