From 3b1e04f985b92b0aa75468a02a47e8b3cf7f29b7 Mon Sep 17 00:00:00 2001 From: Ben Alfasi Date: Tue, 7 Jan 2020 14:13:56 +0200 Subject: [PATCH] finish --- .../exposed-apis-create-app-partners.md | 7 +++++-- .../images/webapp-decoded-token.png | Bin 80299 -> 80444 bytes 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/exposed-apis-create-app-partners.md b/windows/security/threat-protection/microsoft-defender-atp/exposed-apis-create-app-partners.md index c873f53d61..6f6b293ed1 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/exposed-apis-create-app-partners.md +++ b/windows/security/threat-protection/microsoft-defender-atp/exposed-apis-create-app-partners.md @@ -120,7 +120,9 @@ This page explains how to create an AAD application, get an access token to Micr ## Get an access token examples: -For more details on AAD token, refer to [AAD tutorial](https://docs.microsoft.com/azure/active-directory/develop/active-directory-v2-protocols-oauth-client-creds) +**Note:** to get access token on behalf of your customer, use the customer's tenant ID on the following token acquisitions. + +
For more details on AAD token, refer to [AAD tutorial](https://docs.microsoft.com/azure/active-directory/develop/active-directory-v2-protocols-oauth-client-creds) ### Using PowerShell @@ -205,7 +207,8 @@ You will get an answer of the form: Sanity check to make sure you got a correct token: - Copy/paste into [JWT](https://jwt.ms) the token you get in the previous step in order to decode it - Validate you get a 'roles' claim with the desired permissions -- In the screen shot below you can see a decoded token acquired from an Application with permissions to all of Microsoft Defender ATP's roles: +- In the screen shot below you can see a decoded token acquired from an Application with multiple permissions to Microsoft Defender ATP: +- The "tid" claim is the tenant ID the token belongs. ![Image of token validation](images/webapp-decoded-token.png) diff --git a/windows/security/threat-protection/microsoft-defender-atp/images/webapp-decoded-token.png b/windows/security/threat-protection/microsoft-defender-atp/images/webapp-decoded-token.png index be98e49216da7b69964e3688da55e803e821eb13..3df151416409028294210e4c5f7eb02fbcc3057a 100644 GIT binary patch delta 8039 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 D2}&EI delta 7881 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