Skip to content
This repository has been archived by the owner on May 7, 2024. It is now read-only.

A collection of samples showing how to integrate Azure Active Directory with Azure Maps.

License

Notifications You must be signed in to change notification settings

Azure-Samples/Azure-Maps-AzureAD-Samples

Repository files navigation

page_type languages products description urlFragment
sample
csharp
javascript
azure
azure-maps
aspnetcore
azure-ad
A collection of samples showing how to integrate Azure Active Directory with Azure Maps.
AzureMapsAADSamples

Azure Maps & Azure Active Directory Samples

These are 4 different samples using AspNetCore C# to quick start Azure AD authentication to Azure Maps. Each sample uses different authentication protocols depending on application need which are supported by Azure AD and Azure Role Based Access Control (RBAC).

Contents

Outline the file contents of the repository. It helps users navigate the codebase, build configuration and any related assets.

File/folder Description
src/ImplicitGrant Samples used to show user authentication without a server component.
src/OpenIdConnect Samples using Microsoft's recommended protocol for secure web applications
src/ClientGrant Samples showing application authentication without user interaction.
.gitignore Define what to ignore at commit time.
CONTRIBUTING.md Guidelines for contributing to the sample.
README.md The starting readme.
LICENSE The license for the sample.

Prerequisites

Prior to downloading these samples

Setup

In the Azure Active Directory, create new application registration

  • This application registration will represent the web application(s).
  • Each specific sample will describe the steps necessary for the different authentication protocols.
  • For the sake of this sample repository, the same application registration can be used.
  • For production we recommend a distinct application registration for each web application. Additionally, we highly recommend using Azure Managed Identity for any non-interactive autentication to Azure Maps. This will save credential management costs.
  • For display name, we can name it "WebApp" and leave the redirect uri empty for now and follow the individuals samples README.md.

In the Azure Portal create an Azure Maps account

  • Search for "Azure Maps" on create new resource and follow the portal to create a new account.
  • Once the account is created, retrieve the Azure Maps Client ID and keep on hand for the specific sample you wish to run.
  • This value should be used in the x-ms-client-id with all HTTP requests.
  • If using any SDK add it to the authenication options (JS).

Running the sample

  • Running the Web Applicaton samples are based on the AspNetCore MVC v2.2 documentation
  • Once all the individual sample README.md have been configured, Debug (F5 key) should build and start the application.
  • Make sure to run the web application with HTTPS configured.
  • If prompted for development HTTPS certificate via IIS or AspNetCore, accept the prompt to trust the certificate.

Key concepts

  • Using Azure Maps Web SDK supports 2 approaches for Azure AD access tokens.
  • If a server component like AspNetCore MVC is available for your application, we recommend OpenID Connect.
  • In the case of no server component, you must use implicit grant for an user interactive sign in experience. However, in the case for no interactive sign in, some server component must exist to retrieve an access token and provide it to the Azure Maps Web SDK.
  • Using Azure Service Authentication Library will help reduce the complexity and cost of credential management and allow for Azure Managed Identities to be used on the hosted platform such as Azure Virtual Machines or Azure App Service.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.