Has anyone successfully used Azure AD to authenticate users for a Node.js web application? Has anyone successfully used Azure AD to authenticate users for a Node.js web application? azure azure

Has anyone successfully used Azure AD to authenticate users for a Node.js web application?


Here is a code example which is about integrating Azure AD into a NodeJS web application provided by Microsoft on GitHub, at https://github.com/Azure-Samples/active-directory-node-webapp-openidconnect.

And to make the sample run, you need to configure a few settings in the sample code about your Azure AD.

we can find the content as following shown in the config.js file in the root directory of the application:

exports.creds = {    returnURL: 'http://localhost:3000/auth/openid/return',    identityMetadata: 'https://login.microsoftonline.com/common/.well-known/openid-configuration', // For using Microsoft you should never need to change this.    clientID: '<your app id>',    clientSecret: '<your secret>', // if you are doing code or id_token code    skipUserProfile: true, // for AzureAD should be set to true.    responseType: 'id_token code', // for login only flows use id_token. For accessing resources use `id_token code`    responseMode: 'query', // For login only flows we should have token passed back to us in a POST    //scope: ['email', 'profile'] // additional scopes you may wish to pass };

now you need to login the Azure manage portal, header to your Azure AD application page. Click the CONFIGURE tab to configure your AD.

  • Input the returnURL in config.js into the REPLY URL form under the single sign-on section:enter image description here

  • fill the Azure AD endpoint of your AD application into the identityMetadata property in config.js. As the comment in the code says, if your Azure AD is in the Microsoft domain like: enter image description hereThen you don't have to change the setting. Otherwise, you need to replace the common in the endpoint in config.js to your AD ID, you can click the VIEW ENDPOINT at the bottom nav to find the ID:enter image description here

  • configure the clientID and clientSecret in config.js. You all can find them in the CONFIGRE page of your AD application:enter image description hereAbout the key, you can select the dropdown to select a duration of a key to create a new one, click the save button at the bottom nav, you can see the key data at first time you create it.

After finishing these steps, you can try the sample project.


For me this (No Code solution) worked in the new Azure Portal:

  • host my Node.js Server
  • add an AD to the subscription
  • Register new application within the AD
  • Add "https://YourNodeJS.azurewebsites.net/.auth/login/aad/callback" as Reply URL
  • In AppServices, pick your Node.js Server
  • In Settings go to Authentication/Authorization
  • Activate AAD
  • Use Advanced Mode of AAD
  • Enter the ClientID (GUID) of the application registered above in AD
  • As issuerURL enter this link: https://sts.windows.net/YourADGuid/ (you can see the GUID within "Endpoints" if you look back at your application registered in AD above)