Skip to content

Commit e1654ad

Browse files
authored
add publisher and clarify some MSAL statements (#4940)
1 parent 68ec0ac commit e1654ad

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

Diff for: docs/outlook/faq-nested-app-auth-outlook-legacy-tokens.md

+4-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Nested app authentication and Outlook legacy tokens deprecation FAQ
44
ms.service: microsoft-365
55
ms.subservice: add-ins
66
ms.topic: faq
7-
ms.date: 11/26/2024
7+
ms.date: 12/10/2024
88
---
99

1010
# Nested app authentication and Outlook legacy tokens deprecation FAQ
@@ -104,6 +104,7 @@ Some widely used Outlook add-in publishers have already updated their add-ins as
104104
- [iEnterprises® - Outlook Connector](https://ienterprises.com/connector/outlook-connector/)
105105
- [HubStar Connect](https://www.hubstar.com/solutions/connect/)
106106
- [SalesForce for Outlook](https://appsource.microsoft.com/product/office/wa104379334)
107+
- [Set-OutlookSignatures Benefactor Circle](https://explicitconsulting.at/open-source/set-outlooksignatures/)
107108
- [Zoho CRM for Email](https://appsource.microsoft.com/product/office/WA104379468)
108109
- [Zoho Recruit for Email](https://appsource.microsoft.com/product/office/WA200001485)
109110
- [Zoho Sign for Outlook](https://appsource.microsoft.com/product/office/WA200002326)
@@ -210,9 +211,9 @@ When you request a token through MSAL, it always returns three tokens.
210211
|Refresh token | Refreshes the ID and access tokens when they expire. | `offline_access` |
211212
|Access token | Authenticates the user for specific scopes to a resource, such as Microsoft Graph. | Any resource scopes, such as `user.read`. |
212213

213-
Because MSAL always returns these tokens, it requests the `profile`, `openid`, and `offline_access` as default scopes even if your token request doesn't include them. However, you must have at least one resource scope, such as `user.read` so that you get an access token. If not, the request can fail. There isn't any way to use MSAL to only get an ID token. You always get all three tokens.
214+
MSAL always returns these three tokens. It requests the `profile`, `openid`, and `offline_access` as default scopes even if your token request doesn't include them. This ensures the ID and refresh tokesn are requested. However, you must include at least one resource scope, such as `user.read` so that you get an access token. If not, the request can fail.
214215

215-
Passing the ID token, or any of its claims, such as `oid` over a network call to a service is a security anti-pattern. The token is intended only for the client (task pane) and there is no way for the service to reliably use the token to be sure the user has authorized access. For more information about ID token claims, see [https://learn.microsoft.com/en-us/entra/identity-platform/id-token-claims-reference](/entra/identity-platform/id-token-claims-reference).
216+
Passing the ID token over a network call to enable or authorize access to a service is a security anti-pattern. The token is intended only for the client (task pane) and there is no way for the service to reliably use the token to be sure the user has authorized access. For more information about ID token claims, see [https://learn.microsoft.com/en-us/entra/identity-platform/id-token-claims-reference](/entra/identity-platform/id-token-claims-reference).
216217

217218
It's very important that you always request an access token to your own services. The access token also includes the same ID claims, so you don't need to pass the ID token. Instead create a custom scope for your service. For more information about app registration settings for your own services, see [Protected web API: App registration](/entra/identity-platform/scenario-protected-web-api-app-registration). When your service receives the access token, it can validate it, and use ID claims from inside the access token.
218219

0 commit comments

Comments
 (0)