You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/app-service/configure-authentication-customize-sign-in-out.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -56,7 +56,7 @@ The token format varies slightly according to the provider:
56
56
| Provider value | Required in request body | Comments |
57
57
|-|-|-|
58
58
|`aad`|`{"access_token":"<access_token>"}`| The `id_token`, `refresh_token`, and `expires_in` properties are optional. |
59
-
|`microsoftaccount`|`{"access_token":"<access_token>"}` or `{"authentication_token": "<token>"`|`authentication_token` is preferred over `access_token`. The `expires_in` property is optional. <br/>When you're requesting the token from Live services, always request the `wl.basic` scope. |
59
+
|`microsoftaccount`|`{"access_token":"<access_token>"}` or `{"authentication_token": "<token>"`|`authentication_token` is preferred over `access_token`. The `expires_in` property is optional. <br/><br/>When you're requesting the token from Live services, always request the `wl.basic` scope. |
60
60
|`google`|`{"id_token":"<id_token>"}`| The `authorization_code` property is optional. Providing an `authorization_code` value adds an access token and a refresh token to the token store. When you specify `authorization_code`, you can optionally accompany it with a `redirect_uri` property. |
61
61
|`facebook`|`{"access_token":"<user_access_token>"}`| Use a valid [user access token](https://developers.facebook.com/docs/facebook-login/access-tokens) from Facebook. |
Copy file name to clipboardExpand all lines: articles/app-service/configure-authentication-provider-openid-connect.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,10 +19,10 @@ You can configure your app to use one or more OIDC providers. Each must have a u
19
19
20
20
## <aname="register"> </a>Register your application with the identity provider
21
21
22
-
Your provider requires you to register the details of your application with it. One of these steps involves specifying a redirect URI that has the form `<app-url>/.auth/login/<provider-name>/callback`. Each identity provider should provide more instructions on how to complete these steps. The `<provider-name>` value refers to the friendly name that you give to the OpenID provider name in Azure.
22
+
Your provider requires you to register the details of your application with it. One of these steps involves specifying a redirect URI that has the form `<app-url>/.auth/login/<provider-name>/callback`. Each identity provider should provide more instructions on how to complete the steps. The `<provider-name>` value refers to the friendly name that you give to the OpenID provider name in Azure.
23
23
24
24
> [!NOTE]
25
-
> Some providers might require additional steps for their configuration and for how to use the values that they provide. For example, Apple provides a private key that isn't itself used as the OIDC client secret. You instead must use it to craft a JSON Web Token (JWT) that's treated as the secret that you provide in your app configuration. For more information, see [Creating a client secret](https://developer.apple.com/documentation/sign_in_with_apple/generate_and_validate_tokens) in the Apple developer documentation.
25
+
> Some providers might require additional steps for their configuration and for using the values that they provide. For example, Apple provides a private key that isn't itself used as the OIDC client secret. You instead must use it to craft a JSON Web Token (JWT) that's treated as the secret that you provide in your app configuration. For more information, see [Creating a client secret](https://developer.apple.com/documentation/sign_in_with_apple/generate_and_validate_tokens) in the Apple developer documentation.
26
26
27
27
You need to collect a *client ID* and a *client secret* for your application. The client secret is an important security credential. Don't share this secret with anyone or distribute it within a client application.
28
28
@@ -47,7 +47,7 @@ If you can't use a configuration metadata document, gather the following values
47
47
48
48
1. If you have the URL for the metadata document from the identity provider, provide that value for **Metadata URL**. Otherwise, select the **Provide endpoints separately** option and put each URL gathered from the identity provider in the appropriate field.
49
49
50
-
1. Provide the earlier collected **Client ID** and **Client Secret** values in the appropriate fields.
50
+
1. Provide the values that you collected earlier for **Client ID** and **Client Secret**.
51
51
52
52
1. Specify an application setting name for your client secret. Your client secret is stored as an app setting to ensure that secrets are stored in a secure fashion. You can update that setting later to use [Azure Key Vault references](./app-service-key-vault-references.md) if you want to manage the secret in Key Vault.
Copy file name to clipboardExpand all lines: articles/app-service/configure-language-php.md
+18-18Lines changed: 18 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -92,7 +92,7 @@ az webapp config set --resource-group <resource-group-name> --name <app-name> --
92
92
93
93
If you want App Service to run [Composer](https://getcomposer.org/) at deployment time, the easiest way is to include Composer in your repository.
94
94
95
-
From a local terminal window, change the directory to your repository root. Then, follow the instructions at [download Composer](https://getcomposer.org/download/) to download `composer.phar` to the directory root.
95
+
From a local terminal window, change the directory to your repository root. Then, follow the instructions at [Download Composer](https://getcomposer.org/download/) to download `composer.phar` to the directory root.
96
96
97
97
Run the following commands. To run them, you need [npm](https://www.npmjs.com/get-npm) installed.
98
98
@@ -233,7 +233,7 @@ For more information on how App Service runs and builds PHP apps in Linux, see t
233
233
234
234
## Customize startup
235
235
236
-
If you want, you can run a custom command at the container startup time, by running the following command in [Cloud Shell](https://shell.azure.com):
236
+
If you want, you can run a custom command at the container startup time. Run the following command in [Cloud Shell](https://shell.azure.com):
237
237
238
238
```azurecli-interactive
239
239
az webapp config set --resource-group <resource-group-name> --name <app-name> --startup-file "<custom-command>"
@@ -439,18 +439,18 @@ The built-in PHP installations contain the most commonly used extensions. You ca
439
439
> [!NOTE]
440
440
> The best way to see the PHP version and the current `php.ini` configuration is to call [`phpinfo()`](https://php.net/manual/function.phpinfo.php) in your app.
441
441
442
-
To enable additional extensions, use the following steps.
442
+
To enable additional extensions, use the following steps:
443
443
444
-
Add a `bin` directory to the root directory of your app, and put the `.dll` extension files in it (for example, `mongodb.dll`). Make sure that the extensions are compatible with the PHP version in Azure, and that they're VC9 and non-thread-safe (NTS) compatible.
444
+
1.Add a `bin` directory to the root directory of your app, and put the `.dll` extension files in it (for example, `mongodb.dll`). Make sure that the extensions are compatible with the PHP version in Azure, and that they're VC9 and non-thread-safe (NTS) compatible.
445
445
446
-
Deploy your changes.
446
+
1.Deploy your changes.
447
447
448
-
Follow the steps in [Customize PHP_INI_SYSTEM directives](#customize-php_ini_system-directives), and add the extensions into the custom .ini file with the [extension](https://www.php.net/manual/ini.core.php#ini.extension) or [zend_extension](https://www.php.net/manual/ini.core.php#ini.zend-extension) directive:
448
+
1.Follow the steps in [Customize PHP_INI_SYSTEM directives](#customize-php_ini_system-directives), and add the extensions into the custom .ini file with the [extension](https://www.php.net/manual/ini.core.php#ini.extension) or [zend_extension](https://www.php.net/manual/ini.core.php#ini.zend-extension) directive:
@@ -463,18 +463,18 @@ The built-in PHP installations contain the most commonly used extensions. You ca
463
463
> [!NOTE]
464
464
> The best way to see the PHP version and the current `php.ini` configuration is to call [`phpinfo()`](https://php.net/manual/function.phpinfo.php) in your app.
465
465
466
-
To enable additional extensions, use the following steps.
466
+
To enable additional extensions, use the following steps:
467
467
468
-
Add a `bin` directory to the root directory of your app, and put the `.so` extension files in it (for example, `mongodb.so`). Make sure that the extensions are compatible with the PHP version in Azure, and that they're VC9 and non-thread-safe (NTS) compatible.
468
+
1.Add a `bin` directory to the root directory of your app, and put the `.so` extension files in it (for example, `mongodb.so`). Make sure that the extensions are compatible with the PHP version in Azure, and that they're VC9 and non-thread-safe (NTS) compatible.
469
469
470
-
Deploy your changes.
470
+
1.Deploy your changes.
471
471
472
-
Follow the steps in [Customize PHP_INI_SYSTEM directives](#customize-php_ini_system-directives), and add the extensions into the custom .ini file with the [extension](https://www.php.net/manual/ini.core.php#ini.extension) or [zend_extension](https://www.php.net/manual/ini.core.php#ini.zend-extension) directive:
472
+
1.Follow the steps in [Customize PHP_INI_SYSTEM directives](#customize-php_ini_system-directives), and add the extensions into the custom .ini file with the [extension](https://www.php.net/manual/ini.core.php#ini.extension) or [zend_extension](https://www.php.net/manual/ini.core.php#ini.zend-extension) directive:
|Remote file storage|Fully dedicated to the App Service Environment. |Remote file storage for the application is dedicated, but the storage is hosted on a shared file server. |
25
-
|Private inbound configuration|Yes, using the Internal Load Balancer (ILB) App Service Environment variation. |Yes, via private endpoint. |
25
+
|Private inbound configuration|Yes, using the internal load balancer (ILB) App Service Environment variation. |Yes, via private endpoint. |
|Aggregate storage limit for remote file shares|1 TB for all apps in App Service Environment v3.|250 GB for all apps in a single App Service plan. 500 GB for all apps across all App Service plans in a single resource group.|
28
28
@@ -57,7 +57,7 @@ However, App Service Environment v3 is a dedicated environment. Even though it c
57
57
|Feature |App Service Environment v3 |App Service public multitenant |
58
58
|---------|---------|---------|
59
59
|Virtual network integration|Yes. App Service Environment v3 is deployed into a subnet in your virtual network by default. |Supported, but [must be explicitly enabled](../../app-service/networking-features.md).|
60
-
|Private endpoint support|Yes, but [must be explicitly enabled on the App Service Environment](networking.md#private-endpoint). |Yes, but [must be explicitly enabled](../../app-service/networking-features.md#private-endpoint). |
60
+
|Private endpoint support|Yes, but [must be explicitly enabled in the App Service Environment](networking.md#private-endpoint). |Yes, but [must be explicitly enabled](../../app-service/networking-features.md#private-endpoint). |
61
61
|IP access restrictions for inbound traffic|Yes, but [must be explicitly enabled](../../app-service/networking-features.md#access-restrictions). |Yes, but [must be explicitly enabled](../../app-service/networking-features.md#access-restrictions). |
62
62
|Network security group (NSG) integration|Supports inbound and outbound traffic control. |Can use NSG for inbound traffic control via the subnet that sourced the IP of a private endpoint. (Note that the feature requires private endpoints.) Supports outbound network restrictions with NSG on the virtual network integration subnet. |
63
63
|User-defined route (UDR) integration|Supports outbound traffic routing, but [must be explicitly enabled](networking.md#network-routing). |Supports outbound traffic routing, but [must be explicitly enabled](../../app-service/networking-features.md). |
Copy file name to clipboardExpand all lines: articles/app-service/overview-local-cache.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,12 +33,12 @@ Azure App Service content is stored on Azure Storage and is exposed as a durable
33
33
34
34
Although many apps use one or more of these features, some apps need a high-performance, read-only content store that they can run from with high availability. Such apps can benefit from running against a local cache on the VM instance.
35
35
36
-
The *local cache* feature in Azure App Service provides a web role view of your content. This content is a write-but-discard cache of your storage content that's created asynchronously at site startup. When the cache is ready, the site switches to run against the cached content.
36
+
The local cache feature in Azure App Service provides a web role view of your content. This content is a write-but-discard cache of your storage content that's created asynchronously at site startup. When the cache is ready, the site switches to run against the cached content.
37
37
38
38
Apps running with a local cache benefit in these ways:
39
39
40
40
- They're immune to latencies associated with accessing content on Azure Storage.
41
-
-They aren't affected by problems with connecting to the storage, because the read-only copy is cached locally.
41
+
-Problems with connecting to the storage don't affect them, because the read-only copy is cached locally.
42
42
- They experience fewer app restarts from changes in the storage share.
43
43
44
44
> [!NOTE]
@@ -65,7 +65,7 @@ Configuring a local cache causes these changes:
65
65
- The best-effort copy affects [log streaming](troubleshoot-diagnostic-logs.md#stream-logs). You might observe up to a one-minute delay in streamed logs.
66
66
- In the shared content store, the folder structure for `LogFiles` and `Data` changes for apps that use a local cache. There are now subfolders with names that consist of a unique identifier and a time stamp. Each subfolder corresponds to a VM instance where the app is or was running.
67
67
- Other folders in `D:\home` remain in the local cache and aren't copied to the shared content store.
68
-
- App deployments via any supported method publish directly to the durable shared content store. To refresh the `D:\home\site` and `D:\home\siteextensions` folders in the local cache, you must restart the app. For a seamless life cycle, see the [section about best practices](#best-practices-for-using-a-local-cache) later in this article.
68
+
- App deployments via any supported method publish directly to the durable shared content store. To refresh the `D:\home\site` and `D:\home\siteextensions` folders in the local cache, you must restart the app. For a seamless life cycle, see the [section about best practices](#best-practices-for-using-app-service-local-cache) later in this article.
69
69
- The default content view of the SCM site continues to reflect the shared content store.
70
70
71
71
> [!NOTE]
@@ -127,7 +127,7 @@ Sticky settings are tied to the slot. When the staging slot is swapped into prod
127
127
128
128
### What if I exceed the size limit for the local cache?
129
129
130
-
If the copied files exceed the size limit of the local cache, the app reverts to reading from the remote share.
130
+
If the copied files exceed the size limit of the local cache, the app reverts to reading from the remote share. The following table shows the details.
@@ -150,7 +150,7 @@ When you're using a local cache with staging environments, the swap operation do
150
150
151
151
### Why doesn't my app reflect newly published changes?
152
152
153
-
If your app uses a local cache, you must restart the site to load the latest changes. If you prefer not to publish changes directly to your production site, consider using deployment slots as described in the [earlier section about best practices](#best-practices-for-using-a-local-cache).
153
+
If your app uses a local cache, you must restart the site to load the latest changes. If you prefer not to publish changes directly to your production site, consider using deployment slots as described in the [earlier section about best practices](#best-practices-for-using-app-service-local-cache).
154
154
155
155
> [!NOTE]
156
156
> The [run from package](deploy-run-package.md) deployment option isn't compatible with the local cache feature.
@@ -159,7 +159,7 @@ If your app uses a local cache, you must restart the site to load the latest cha
159
159
160
160
When you're using a local cache, the structure of your log and data folders changes slightly. The subfolders are now nested under a folder that's named with the unique VM identifier and a time stamp. Each of these folders corresponds to the VM instance where the app is or was running.
161
161
162
-
### Why does my app still get restarted with a local cache enabled?
162
+
### Why does my app still restart with a local cache enabled?
163
163
164
164
A local cache helps prevent storage-related app restarts. However, your app might still restart during planned infrastructure upgrades on the VM. Overall, you should observe fewer restarts with a local cache enabled.
165
165
@@ -173,7 +173,7 @@ To flush the local cache logs, stop and restart the app. This action clears the
173
173
174
174
### Why does App Service show previously deployed files after a restart when a local cache is enabled?
175
175
176
-
If previously deployed files reappear after a restart, check for the presence of the app setting `[WEBSITE_DISABLE_SCM_SEPARATION=true](https://github.com/projectkudu/kudu/wiki/Configurable-settings#use-the-same-process-for-the-user-site-and-the-scm-site)`. Adding this setting causes deployments via Kudu to write to the local VM instead of persistent storage. To avoid this situation, follow the [best practices mentioned earlier](#best-practices-for-using-a-local-cache) and perform deployments to a staging slot that doesn't have a local cache enabled.
176
+
If previously deployed files reappear after a restart, check for the presence of the app setting [`WEBSITE_DISABLE_SCM_SEPARATION=true`](https://github.com/projectkudu/kudu/wiki/Configurable-settings#use-the-same-process-for-the-user-site-and-the-scm-site). Adding this setting causes deployments via Kudu to write to the local VM instead of persistent storage. To avoid this situation, follow the [best practices mentioned earlier](#best-practices-for-using-app-service-local-cache) and perform deployments to a staging slot that doesn't have a local cache enabled.
0 commit comments