Skip to content

Commit c633485

Browse files
authored
Merge pull request #77346 from dksimpson/VS-2019-updates-DKS1
VS 2019 updates
2 parents 62ea811 + 6f188b7 commit c633485

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

articles/active-directory/develop/active-directory-signing-key-rollover.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ ms.collection: M365-identity-device-management
2121
---
2222

2323
# Signing key rollover in Azure Active Directory
24-
This article discusses what you need to know about the public keys that are used in Azure Active Directory (Azure AD) to sign security tokens. It is important to note that these keys rollover on a periodic basis and, in an emergency, could be rolled over immediately. All applications that use Azure AD should be able to programmatically handle the key rollover process or establish a periodic manual rollover process. Continue reading to understand how the keys work, how to assess the impact of the rollover to your application and how to update your application or establish a periodic manual rollover process to handle key rollover if necessary.
24+
This article discusses what you need to know about the public keys that are used in Azure Active Directory (Azure AD) to sign security tokens. It is important to note that these keys roll over on a periodic basis and, in an emergency, could be rolled over immediately. All applications that use Azure AD should be able to programmatically handle the key rollover process or establish a periodic manual rollover process. Continue reading to understand how the keys work, how to assess the impact of the rollover to your application and how to update your application or establish a periodic manual rollover process to handle key rollover if necessary.
2525

2626
## Overview of signing keys in Azure AD
2727
Azure AD uses public-key cryptography built on industry standards to establish trust between itself and the applications that use it. In practical terms, this works in the following way: Azure AD uses a signing key that consists of a public and private key pair. When a user signs in to an application that uses Azure AD for authentication, Azure AD creates a security token that contains information about the user. This token is signed by Azure AD using its private key before it is sent back to the application. To verify that the token is valid and originated from Azure AD, the application must validate the token’s signature using the public key exposed by Azure AD that is contained in the tenant’s [OpenID Connect discovery document](https://openid.net/specs/openid-connect-discovery-1_0.html) or SAML/WS-Fed [federation metadata document](azure-ad-federation-metadata.md).
@@ -39,7 +39,7 @@ How your application handles key rollover depends on variables such as the type
3939
* [Web applications / APIs protecting resources using .NET OWIN OpenID Connect, WS-Fed or WindowsAzureActiveDirectoryBearerAuthentication middleware](#owin)
4040
* [Web applications / APIs protecting resources using .NET Core OpenID Connect or JwtBearerAuthentication middleware](#owincore)
4141
* [Web applications / APIs protecting resources using Node.js passport-azure-ad module](#passport)
42-
* [Web applications / APIs protecting resources and created with Visual Studio 2015 or Visual Studio 2017](#vs2015)
42+
* [Web applications / APIs protecting resources and created with Visual Studio 2015 or later](#vs2015)
4343
* [Web applications protecting resources and created with Visual Studio 2013](#vs2013)
4444
* Web APIs protecting resources and created with Visual Studio 2013
4545
* [Web applications protecting resources and created with Visual Studio 2012](#vs2012)
@@ -52,12 +52,12 @@ This guidance is **not** applicable for:
5252
* On-premises applications published via application proxy don't have to worry about signing keys.
5353

5454
### <a name="nativeclient"></a>Native client applications accessing resources
55-
Applications that are only accessing resources (i.e Microsoft Graph, KeyVault, Outlook API and other Microsoft APIs) generally only obtain a token and pass it along to the resource owner. Given that they are not protecting any resources, they do not inspect the token and therefore do not need to ensure it is properly signed.
55+
Applications that are only accessing resources (i.e Microsoft Graph, KeyVault, Outlook API, and other Microsoft APIs) generally only obtain a token and pass it along to the resource owner. Given that they are not protecting any resources, they do not inspect the token and therefore do not need to ensure it is properly signed.
5656

5757
Native client applications, whether desktop or mobile, fall into this category and are thus not impacted by the rollover.
5858

5959
### <a name="webclient"></a>Web applications / APIs accessing resources
60-
Applications that are only accessing resources (i.e Microsoft Graph, KeyVault, Outlook API and other Microsoft APIs) generally only obtain a token and pass it along to the resource owner. Given that they are not protecting any resources, they do not inspect the token and therefore do not need to ensure it is properly signed.
60+
Applications that are only accessing resources (i.e Microsoft Graph, KeyVault, Outlook API, and other Microsoft APIs) generally only obtain a token and pass it along to the resource owner. Given that they are not protecting any resources, they do not inspect the token and therefore do not need to ensure it is properly signed.
6161

6262
Web applications and web APIs that are using the app-only flow (client credentials / client certificate), fall into this category and are thus not impacted by the rollover.
6363

@@ -124,8 +124,8 @@ passport.use(new OIDCStrategy({
124124
));
125125
```
126126

127-
### <a name="vs2015"></a>Web applications / APIs protecting resources and created with Visual Studio 2015 or Visual Studio 2017
128-
If your application was built using a web application template in Visual Studio 2015 or Visual Studio 2017 and you selected **Work And School Accounts** from the **Change Authentication** menu, it already has the necessary logic to handle key rollover automatically. This logic, embedded in the OWIN OpenID Connect middleware, retrieves and caches the keys from the OpenID Connect discovery document and periodically refreshes them.
127+
### <a name="vs2015"></a>Web applications / APIs protecting resources and created with Visual Studio 2015 or later
128+
If your application was built using a web application template in Visual Studio 2015 or later and you selected **Work Or School Accounts** from the **Change Authentication** menu, it already has the necessary logic to handle key rollover automatically. This logic, embedded in the OWIN OpenID Connect middleware, retrieves and caches the keys from the OpenID Connect discovery document and periodically refreshes them.
129129

130130
If you added authentication to your solution manually, your application might not have the necessary key rollover logic. You will need to write it yourself, or follow the steps in [Web applications / APIs using any other libraries or manually implementing any of the supported protocols](#other).
131131

0 commit comments

Comments
 (0)