Angular, Azure Storage, and Function Proxies - Oh My!

As I was working on the Securing Azure Functions with Azure Active Directory series, I wanted a simple way to test the application and OAuth flows in Azure. This seemed like a perfect time to try out the use of Azure Blob Storage for hosting static files and using Azure Function Proxies to deliver the Angular app. As a bonus, I got to learn a bit about integrating the process in Visual Studio Team Services (VSTS) build using the Azure CLI VSTS Task. The Required Azure Components Obviously we will need some Azure components. The Azure CLI and the snippets/scripts below get this part done quickly. If you don't have the Azure CLI, go get it now. The script...


Azure AD Secured Azure Functions - Creating an Angular Client Application

Part 3 - Azure AD Secured Azure Functions - Creating an Angular Client Application Part 1 - Creating an Azure Function with the Azure CLI 2.0 Part 2 - Securing an Azure Function with Azure Active Directory Part 3 - Creating an Angular Client Application Part 4 - Adding Azure Active Directory Group Claims Checks This is part three of a series of posts about consuming Azure Functions secured by Azure Active Directory. The goal: create an Azure Function, secure it with Azure Active Directory, and use Angular to pull data back from the AAD secured Function. In Part 1 we created an Azure Function App and a basic Function. In Part 2 we secured our Azure Function using...


Securing Azure Functions with Azure Active Directory - Part 2

This is a part two of a series of posts about consuming Azure Functions secured by Azure Active Directory. Part 1 - Creating an Azure Function with the Azure CLI 2.0 Part 2 - Securing an Azure Function with Azure Active Directory Part 3 - Creating an Angular Client Application Part 4 - Adding Azure Active Directory Group Claims Checks The goal: create an Azure Function, secure it with Azure Active Directory, and use Angular to pull data back from the AAD secured function. In Part 1 we created an Azure Function App and a basic function. Our Azure Function is accessible from Postman or curl, but not from a simple web page. Configure Cross Origin Resource Sharing (CORS)...


Securing Azure Functions with Azure Active Directory - Part 1

Creating an Azure Function with the Azure CLI 2.0 Part 1 - Creating an Azure Function with the Azure CLI 2.0 Part 2 - Securing an Azure Function with Azure Active Directory Part 3 - Creating an Angular Client Application Part 4 - Adding Azure Active Directory Group Claims Checks This is Part 1 of a multi-part post about consuming Azure Functions secured by Azure Active Directory. I have been using Office 365 applications with OAuth tokens for a while, but wanted to dive a bit deeper and learn some of what is going on behind the scenes. While I learned a lot for this series, and it may not be an exact match to all of the...


How To Enable External Sharing for Office 365 Group Site Collections

;tl;dr A recent attempt to share a site collection provisioned by the new "Create Site" link in SharePoint Online revealed that in order to share the site collection with external users you must change the sites "SharingPolicy" property from the default ExistingExternalUserSharingOnly to ExternalUserSharingOnly to enable new external user invitations. This must be done with the Set-SPOSite PowerShell Cmdlet The Back Story I recently had a project that required providing External User access to a newly provisioned Office 365 Group's site collection in SharePoint Online. Simple, right... Just click the Share icon on the home page, and invite the external user. Wrong! In the past, when working with clients we (ThreeWill) have provisioned a SharePoint...