Skip to content

Commit f40ce14

Browse files
committed
Merge branch 'master' of https://github.com/MicrosoftDocs/azure-docs-pr into release-build-synapse
2 parents 9ff077d + 719b729 commit f40ce14

File tree

237 files changed

+2400
-3070
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

237 files changed

+2400
-3070
lines changed

.openpublishing.redirection.json

Lines changed: 126 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6242,14 +6242,9 @@
62426242
"redirect_url": "https://go.microsoft.com/fwlink/?linkid=847458",
62436243
"redirect_document_id": false
62446244
},
6245-
{
6246-
"source_path": "articles/cloud-partner-portal/cloud-partner-portal-manage-publisher-profile.md",
6247-
"redirect_url": "https://go.microsoft.com/fwlink/?linkid=847458",
6248-
"redirect_document_id": false
6249-
},
62506245
{
62516246
"source_path": "articles/cloud-partner-portal/cloud-partner-portal-manage-users.md",
6252-
"redirect_url": "https://go.microsoft.com/fwlink/?linkid=847458",
6247+
"redirect_url": "/azure/marketplace/partner-center-portal/manage-account",
62536248
"redirect_document_id": false
62546249
},
62556250
{
@@ -20526,6 +20521,56 @@
2052620521
"redirect_url": "https://docs.microsoft.com/legal/marketplace/terms",
2052720522
"redirect_document_id": false
2052820523
},
20524+
{
20525+
"source_path": "articles/marketplace/cloud-partner-portal-orig/setup-your-application-in-the-publishing-portal.md",
20526+
"redirect_url": "/azure/marketplace/partner-center-portal/create-new-customer-engagement-offer",
20527+
"redirect_document_id": true
20528+
},
20529+
{
20530+
"source_path": "articles/marketplace/enable-lead-sharing.md",
20531+
"redirect_url": "/azure/marketplace/partner-center-portal/commercial-marketplace-get-customer-leads",
20532+
"redirect_document_id": true
20533+
},
20534+
{
20535+
"source_path": "articles/marketplace/listing-type-requirements.md",
20536+
"redirect_url": "/azure/marketplace/publisher-guide-by-offer-type",
20537+
"redirect_document_id": true
20538+
},
20539+
{
20540+
"source_path": "articles/marketplace/promote-your-business-with-microsoft.md",
20541+
"redirect_url": "/azure/marketplace/gtm-your-marketplace-benefits",
20542+
"redirect_document_id": false
20543+
},
20544+
{
20545+
"source_path": "articles/marketplace/publishing-checklist-appsource.md",
20546+
"redirect_url": "/azure/marketplace/appsource-offer-publishing-guide",
20547+
"redirect_document_id": false
20548+
},
20549+
{
20550+
"source_path": "articles/marketplace/publishing-checklist-azure-marketplace.md",
20551+
"redirect_url": "/azure/marketplace/publisher-guide-by-offer-type",
20552+
"redirect_document_id": false
20553+
},
20554+
{
20555+
"source_path": "articles/marketplace/support-appsource.md",
20556+
"redirect_url": "/azure/marketplace/partner-center-portal/support",
20557+
"redirect_document_id": true
20558+
},
20559+
{
20560+
"source_path": "articles/marketplace/cloud-partner-portal-orig/store-your-appSource-package-to-azure-storage-and-generate-sas-key.md",
20561+
"redirect_url": "/azure/marketplace/marketplace-publishers-guide",
20562+
"redirect_document_id": false
20563+
},
20564+
{
20565+
"source_path": "articles/marketplace/cloud-partner-portal-orig/dynamics-365-solution-preparation.md",
20566+
"redirect_url": "/azure/marketplace/appsource-offer-publishing-guide",
20567+
"redirect_document_id": false
20568+
},
20569+
{
20570+
"source_path": "articles/marketplace/cloud-partner-portal-orig/request-to-publish-the-app.md",
20571+
"redirect_url": "/azure/marketplace/partner-center-portal/create-new-customer-engagement-offer",
20572+
"redirect_document_id": false
20573+
},
2052920574
{
2053020575
"source_path": "articles/marketplace/marketplace-participation-policy.md",
2053120576
"redirect_url": "https://docs.microsoft.com/legal/marketplace/participation-policy",
@@ -20588,7 +20633,12 @@
2058820633
},
2058920634
{
2059020635
"source_path": "articles/marketplace/cloud-partner-portal/cloud-partner-portal-manage-publisher-profile.md",
20591-
"redirect_url": "https://go.microsoft.com/fwlink/?linkid=847458",
20636+
"redirect_url": "/azure/marketplace/partner-center-portal/create-account",
20637+
"redirect_document_id": false
20638+
},
20639+
{
20640+
"source_path": "articles/cloud-partner-portal/cloud-partner-portal-manage-publisher-profile.md",
20641+
"redirect_url": "/azure/marketplace/partner-center-portal/create-account",
2059220642
"redirect_document_id": false
2059320643
},
2059420644
{
@@ -20597,10 +20647,15 @@
2059720647
"redirect_document_id": false
2059820648
},
2059920649
{
20600-
"source_path": "articles/marketplace/cloud-partner-portal/cloud-partner-portal-manage-users.md",
20601-
"redirect_url": "https://go.microsoft.com/fwlink/?linkid=847458",
20650+
"source_path": "articles/marketplace/cloud-partner-portal-orig/cloud-partner-portal-manage-users.md",
20651+
"redirect_url": "/azure/marketplace/partner-center-portal/manage-account",
2060220652
"redirect_document_id": false
2060320653
},
20654+
{
20655+
"source_path": "articles/marketplace/cloud-partner-portal/cloud-partner-portal-manage-users.md",
20656+
"redirect_url": "/azure/marketplace/partner-center-portal/manage-account",
20657+
"redirect_document_id": true
20658+
},
2060420659
{
2060520660
"source_path": "articles/marketplace/cloud-partner-portal/cloud-partner-portal-publish-cortana-intelligence-app.md",
2060620661
"redirect_url": "https://go.microsoft.com/fwlink/?linkid=847458",
@@ -31681,29 +31736,64 @@
3168131736
"redirect_url": "/azure/service-fabric/service-fabric-tutorial-deploy-app-with-cicd-vsts",
3168231737
"redirect_document_id": false
3168331738
},
31739+
{
31740+
"source_path": "articles/marketplace/add-bank-tax-info.md",
31741+
"redirect_url": "/azure/marketplace/partner-center-portal/manage-account#payout-account",
31742+
"redirect_document_id": false
31743+
},
31744+
{
31745+
"source_path": "articles/marketplace/cloud-partner-portal-orig/cloud-partner-portal-automate-offer-publishing.md",
31746+
"redirect_url": "/azure/marketplace/partner-center-portal/azure-vm-create-offer",
31747+
"redirect_document_id": true
31748+
},
31749+
{
31750+
"source_path": "articles/marketplace/cloud-partner-portal-orig/appsource-package-preparation.md",
31751+
"redirect_url": "/azure/marketplace/marketplace-publishers-guide",
31752+
"redirect_document_id": false
31753+
},
3168431754
{
3168531755
"source_path": "articles/marketplace/enable-trial-using-azure-ad.md",
3168631756
"redirect_url": "/azure/marketplace/enable-appsource-marketplace-using-azure-ad",
3168731757
"redirect_document_id": true
3168831758
},
3168931759
{
3169031760
"source_path": "articles/marketplace/gtm-promote-your-business.md",
31691-
"redirect_url": "/azure/marketplace/gtm-your-marketplace-benefits",
31761+
"redirect_url": "/azure/marketplace/gtm-marketing-best-practices",
3169231762
"redirect_document_id": false
3169331763
},
3169431764
{
3169531765
"source_path": "articles/marketplace/become-publisher.md",
3169631766
"redirect_url": "/azure/marketplace/partner-center-portal/create-account",
31697-
"redirect_document_id": true
31767+
"redirect_document_id": false
31768+
},
31769+
{
31770+
"source_path": "articles/marketplace/deprecated/gtm-promote-your-business.md",
31771+
"redirect_url": "/azure/marketplace/gtm-marketing-best-practices",
31772+
"redirect_document_id": false
31773+
},
31774+
{
31775+
"source_path": "articles/marketplace/deprecated/become-publisher.md",
31776+
"redirect_url": "/azure/marketplace/partner-center-portal/create-account",
31777+
"redirect_document_id": false
3169831778
},
3169931779
{
3170031780
"source_path": "articles/marketplace/guidelines.md",
31701-
"redirect_url": "/azure/marketplace/partner-center-portal/manage-account",
31702-
"redirect_document_id": true
31781+
"redirect_url": "/azure/marketplace/partner-center-portal/create-account",
31782+
"redirect_document_id": false
31783+
},
31784+
{
31785+
"source_path": "articles/marketplace/deprecated/guidelines.md",
31786+
"redirect_url": "/azure/marketplace/partner-center-portal/create-account",
31787+
"redirect_document_id": false
3170331788
},
3170431789
{
3170531790
"source_path": "articles/marketplace/register-dev-center.md",
31706-
"redirect_url": "/azure/marketplace/partner-center-portal/manage-account",
31791+
"redirect_url": "/azure/marketplace/partner-center-portal/create-account",
31792+
"redirect_document_id": false
31793+
},
31794+
{
31795+
"source_path": "articles/marketplace/deprecated/register-dev-center.md",
31796+
"redirect_url": "/azure/marketplace/partner-center-portal/create-account",
3170731797
"redirect_document_id": false
3170831798
},
3170931799
{
@@ -31719,7 +31809,7 @@
3171931809
{
3172031810
"source_path": "articles/marketplace/grow-your-business-with-appsource.md",
3172131811
"redirect_url": "/azure/marketplace/marketplace-publishers-guide",
31722-
"redirect_document_id": true
31812+
"redirect_document_id": false
3172331813
},
3172431814
{
3172531815
"source_path": "articles/marketplace/billing-options-azure-marketplace.md",
@@ -31793,7 +31883,22 @@
3179331883
},
3179431884
{
3179531885
"source_path": "articles/marketplace-publishing/marketplace-publishing-accounts-creation-registration.md",
31796-
"redirect_url": "https://docs.microsoft.com/azure/marketplace/cloud-partner-portal-orig/cloud-partner-portal-dev-center-accounts-registration",
31886+
"redirect_url": "/azure/marketplace/partner-center-portal/create-account",
31887+
"redirect_document_id": true
31888+
},
31889+
{
31890+
"source_path": "articles/marketplace/cloud-partner-portal-orig/cloud-partner-portal-dev-center-accounts-registration.md",
31891+
"redirect_url": "/azure/marketplace/partner-center-portal/create-account",
31892+
"redirect_document_id": false
31893+
},
31894+
{
31895+
"source_path": "articles/marketplace/cloud-partner-portal-orig/cloud-partner-portal-management-solution-publish.md",
31896+
"redirect_url": "/azure/marketplace",
31897+
"redirect_document_id": false
31898+
},
31899+
{
31900+
"source_path": "articles/marketplace/cloud-partner-portal-orig/cloud-partner-portal-manage-publisher-profile.md",
31901+
"redirect_url": "/azure/marketplace/partner-center-portal/create-account",
3179731902
"redirect_document_id": false
3179831903
},
3179931904
{
@@ -52074,6 +52179,11 @@
5207452179
"source_path": "articles/media-services/azure-media-player/azure-media-player-license.md",
5207552180
"redirect_url": "/legal/azure-media-player/azure-media-player-license",
5207652181
"redirect_document_id": false
52182+
},
52183+
{
52184+
"source_path": "articles/load-balancer/azure-media-player/components-limitations.md",
52185+
"redirect_url": "/articles/load-balancer/concepts",
52186+
"redirect_document_id": false
5207752187
}
5207852188
]
5207952189
}

articles/active-directory/develop/msal-net-system-browser-android-considerations.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ ms.author: marsma
1515
ms.reviewer: saeeda
1616
ms.custom: aaddev
1717
#Customer intent: As an application developer, I want to learn about considerations for using Xamarin Android and MSAL.NET so I can decide if this platform meets my application development needs.
18-
ms.collection: M365-identity-device-management
1918
---
2019

2120
# Xamarin Android system browser considerations for using MSAL.NET

articles/active-directory/develop/msal-net-token-cache-serialization.md

Lines changed: 51 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ $"{Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)}\{A
121121
}
122122
```
123123

124-
A preview of a product quality token cache file based serializer for public client applications (for desktop applications running on Windows, Mac and Linux) is available from the [Microsoft.Identity.Client.Extensions.Msal](https://github.com/AzureAD/microsoft-authentication-extensions-for-dotnet/tree/master/src/Microsoft.Identity.Client.Extensions.Msal) open-source library. You can include it in your applications from the following nuget package: [Microsoft.Identity.Client.Extensions.Msal](https://www.nuget.org/packages/Microsoft.Identity.Client.Extensions.Msal/).
124+
A product quality token cache file based serializer for public client applications (for desktop applications running on Windows, Mac and Linux) is available from the [Microsoft.Identity.Client.Extensions.Msal](https://github.com/AzureAD/microsoft-authentication-extensions-for-dotnet/tree/master/src/Microsoft.Identity.Client.Extensions.Msal) open-source library. You can include it in your applications from the following NuGet package: [Microsoft.Identity.Client.Extensions.Msal](https://www.nuget.org/packages/Microsoft.Identity.Client.Extensions.Msal/).
125125

126126
#### Dual token cache serialization (MSAL unified cache and ADAL v3)
127127

@@ -270,9 +270,57 @@ namespace CommonCacheMsalV3
270270

271271
In web apps or web APIs the cache could leverage the session, a Redis cache, or a database.
272272

273-
In web apps or web APIs, keep one token cache per account. For web apps, the token cache should be keyed by the account ID. For web APIs, the account should be keyed by the hash of the token used to call the API. MSAL.NET provides custom token cache serialization in .NET Framework and .NET Core subplatforms. Events are fired when the cache is accessed, apps can choose whether to serialize or deserialize the cache. On confidential client applications that handle users (web apps that sign in users and call web APIs, and web APIs calling downstream web APIs), there can be many users and the users are processed in parallel. For security and performance reasons, our recommendation is to serialize one cache per user. Serialization events compute a cache key based on the identity of the processed user and serialize/deserialie a token cache for that user.
273+
In web apps or web APIs, keep one token cache per account. For web apps, the token cache should be keyed by the account ID. For web APIs, the account should be keyed by the hash of the token used to call the API. MSAL.NET provides custom token cache serialization in .NET Framework and .NET Core subplatforms. Events are fired when the cache is accessed, apps can choose whether to serialize or deserialize the cache. On confidential client applications that handle users (web apps that sign in users and call web APIs, and web APIs calling downstream web APIs), there can be many users and the users are processed in parallel. For security and performance reasons, our recommendation is to serialize one cache per user. Serialization events compute a cache key based on the identity of the processed user and serialize/deserialize a token cache for that user.
274274

275-
Examples of how to use token caches for web apps and web APIs are available in the [ASP.NET Core web app tutorial](https://docs.microsoft.com/aspnet/core/tutorials/first-mvc-app/) in the phase [2-2 Token Cache](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/tree/master/2-WebApp-graph-user/2-2-TokenCache). For implementations have a look at the folder [TokenCacheProviders](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/tree/master/Microsoft.Identity.Web/TokenCacheProviders) in the [microsoft-authentication-extensions-for-dotnet](https://github.com/AzureAD/microsoft-authentication-extensions-for-dotnet) library (in the [Microsoft.Identity.Client.Extensions.Web](https://github.com/AzureAD/microsoft-authentication-extensions-for-dotnet/tree/master/src/Microsoft.Identity.Client.Extensions.Web) folder.
275+
The [Microsoft.Identity.Web](https://github.com/AzureAD/microsoft-identity-web) library provides a preview NuGet package [Microsoft.Identity.Web](https://www.nuget.org/packages/Microsoft.Identity.Web) containing token cache serialization:
276+
277+
278+
| Extension Method | Microsoft.Identity.Web sub namespace | Description |
279+
| ---------------- | --------- | ------------ |
280+
| `AddInMemoryTokenCaches` | `TokenCacheProviders.InMemory` | In memory token cache serialization. This implementation is great in samples. It's also good in production applications provided you don't mind if the token cache is lost when the web app is restarted. `AddInMemoryTokenCaches` takes an optional parameter of type `MsalMemoryTokenCacheOptions` that enables you to specify the duration after which the cache entry will expire unless it's used.
281+
| `AddSessionTokenCaches` | `TokenCacheProviders.Session` | The token cache is bound to the user session. This option isn't ideal if the ID token contains many claims as the cookie would become too large.
282+
| `AddDistributedTokenCaches` | `TokenCacheProviders.Distributed` | The token cache is an adapter against the ASP.NET Core `IDistributedCache` implementation, therefore enabling you to choose between a distributed memory cache, a Redis cache, a distributed NCache, or a SQL Server cache. For details about the `IDistributedCache` implementations, see https://docs.microsoft.com/aspnet/core/performance/caching/distributed#distributed-memory-cache.
283+
284+
Simple case using the in-memory cache:
285+
286+
```C#
287+
// or use a distributed Token Cache by adding
288+
services.AddSignIn(Configuration);
289+
services.AddWebAppCallsProtectedWebApi(Configuration, new string[] { scopesToRequest })
290+
.AddInMemoryTokenCaches();
291+
```
292+
293+
294+
Examples of possible distributed caches:
295+
296+
```C#
297+
// or use a distributed Token Cache by adding
298+
services.AddSignIn(Configuration);
299+
services.AddWebAppCallsProtectedWebApi(Configuration, new string[] { scopesToRequest })
300+
.AddDistributedTokenCaches();
301+
302+
// and then choose your implementation
303+
304+
// For instance the distributed in memory cache (not cleared when you stop the app)
305+
services.AddDistributedMemoryCache()
306+
307+
// Or a Redis cache
308+
services.AddStackExchangeRedisCache(options =>
309+
{
310+
options.Configuration = "localhost";
311+
options.InstanceName = "SampleInstance";
312+
});
313+
314+
// Or even a SQL Server token cache
315+
services.AddDistributedSqlServerCache(options =>
316+
{
317+
options.ConnectionString = _config["DistCache_ConnectionString"];
318+
options.SchemaName = "dbo";
319+
options.TableName = "TestCache";
320+
});
321+
```
322+
323+
Their usage is featured in the [ASP.NET Core web app tutorial](https://docs.microsoft.com/aspnet/core/tutorials/first-mvc-app/) in the phase [2-2 Token Cache](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/tree/master/2-WebApp-graph-user/2-2-TokenCache).
276324

277325
## Next steps
278326
The following samples illustrate token cache serialization.

articles/active-directory/develop/msal-net-uwp-considerations.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ ms.author: marsma
1515
ms.reviewer: saeeda
1616
ms.custom: aaddev
1717
#Customer intent: As an application developer, I want to learn about considerations for using Universal Windows Platform and MSAL.NET so that I can decide if this platform meets my application development needs.
18-
ms.collection: M365-identity-device-management
1918
---
2019

2120
# Considerations for using Universal Windows Platform with MSAL.NET

articles/active-directory/develop/msal-net-xamarin-android-considerations.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ ms.author: marsma
1515
ms.reviewer: saeeda
1616
ms.custom: aaddev
1717
#Customer intent: As an application developer, I want to learn about considerations for using Xamarin Android and MSAL.NET so that I can decide if this platform meets my application development needs.
18-
ms.collection: M365-identity-device-management
1918
---
2019

2120
# Considerations for using Xamarin Android with MSAL.NET

articles/active-directory/develop/msal-net-xamarin-ios-considerations.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ ms.author: marsma
1515
ms.reviewer: saeeda
1616
ms.custom: aaddev
1717
#Customer intent: As an application developer, I want to learn about considerations for using Xamarin iOS and MSAL.NET so I can decide if this platform meets my application development needs.
18-
ms.collection: M365-identity-device-management
1918
---
2019

2120
# Considerations for using Xamarin iOS with MSAL.NET

articles/active-directory/develop/scenario-mobile-app-registration.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ ms.author: jmprieur
1515
ms.reviewer: brandwe
1616
ms.custom: aaddev
1717
#Customer intent: As an application developer, I want to know how to write a mobile app that calls web APIs by using the Microsoft identity platform for developers.
18-
ms.collection: M365-identity-device-management
1918
---
2019

2120
# Register mobile apps that call web APIs

0 commit comments

Comments
 (0)