Skip to content

Commit d0f493e

Browse files
author
Cephas Lin
committed
validation and acrolinx
1 parent 7c89049 commit d0f493e

File tree

7 files changed

+47
-48
lines changed

7 files changed

+47
-48
lines changed

articles/app-service/configure-authentication-user-identities.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,19 +20,19 @@ For all language frameworks, App Service makes the claims in the incoming token
2020
|------------------------------|-----------------------------------------------------------------------|
2121
| `X-MS-CLIENT-PRINCIPAL` | A Base64 encoded JSON representation of available claims. For more information, see [Decoding the client principal header](#decoding-the-client-principal-header). |
2222
| `X-MS-CLIENT-PRINCIPAL-ID` | An identifier for the caller set by the identity provider. |
23-
| `X-MS-CLIENT-PRINCIPAL-NAME` | A human-readable name for the caller set by the identity provider, e.g. Email Address, User Principal Name. |
23+
| `X-MS-CLIENT-PRINCIPAL-NAME` | A human-readable name for the caller set by the identity provider, such as email address or user principal name. |
2424
| `X-MS-CLIENT-PRINCIPAL-IDP` | The name of the identity provider used by App Service Authentication. |
2525

2626
Provider tokens are also exposed through similar headers. For example, Microsoft Entra also sets `X-MS-TOKEN-AAD-ACCESS-TOKEN` and `X-MS-TOKEN-AAD-ID-TOKEN` as appropriate.
2727

2828
> [!NOTE]
29-
> Different language frameworks may present these headers to the app code in different formats, such as lowercase or title case.
29+
> Different language frameworks might present these headers to the app code in different formats, such as lowercase or title case.
3030
31-
Code that is written in any language or framework can get the information that it needs from these headers. [Decoding the client principal header](#decoding-the-client-principal-header) covers this process. For some frameworks, the platform also provides extra options that may be more convenient.
31+
Code that is written in any language or framework can get the information that it needs from these headers. [Decoding the client principal header](#decoding-the-client-principal-header) covers this process. For some frameworks, the platform also provides extra options that might be more convenient.
3232

3333
### Decoding the client principal header
3434

35-
`X-MS-CLIENT-PRINCIPAL` contains the full set of available claims as Base64 encoded JSON. These claims go through a default claims-mapping process, so some may have different names than you would see if processing the token directly. The decoded payload is structured as follows:
35+
`X-MS-CLIENT-PRINCIPAL` contains the full set of available claims as Base64 encoded JSON. These claims go through a default claims-mapping process, so some might have different names than you would see if processing the token directly. The decoded payload is structured as follows:
3636

3737
```json
3838
{
@@ -52,12 +52,12 @@ Code that is written in any language or framework can get the information that i
5252
|------------|------------------|---------------------------------------|
5353
| `auth_typ` | string | The name of the identity provider used by App Service Authentication. |
5454
| `claims` | array of objects | An array of objects representing the available claims. Each object contains `typ` and `val` properties. |
55-
| `typ` | string | The name of the claim. This may have been subject to default claims mapping and could be different from the corresponding claim contained in a token. |
55+
| `typ` | string | The name of the claim. It might be subject to default claims mapping and could be different from the corresponding claim contained in a token. |
5656
| `val` | string | The value of the claim. |
5757
| `name_typ` | string | The name claim type, which is typically a URI providing scheme information about the `name` claim if one is defined. |
5858
| `role_typ` | string | The role claim type, which is typically a URI providing scheme information about the `role` claim if one is defined. |
5959

60-
To process this header, your app will need to decode the payload and iterate through the `claims` array to find the claims of interest. It may be convenient to convert these into a representation used by the app's language framework. Here's an example of this process in C# that constructs a [ClaimsPrincipal](/dotnet/api/system.security.claims.claimsprincipal) type for the app to use:
60+
To process this header, your app needs to decode the payload and iterate through the `claims` array to find the claims of interest. It it be convenient to convert them into a representation used by the app's language framework. Here's an example of this process in C# that constructs a [ClaimsPrincipal](/dotnet/api/system.security.claims.claimsprincipal) type for the app to use:
6161

6262
```csharp
6363
using System;

articles/app-service/configure-common.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Other language stacks, likewise, get the app settings as environment variables a
3434
- [Node.js](configure-language-nodejs.md#access-environment-variables)
3535
- [PHP](configure-language-php.md#access-environment-variables)
3636
- [Python](configure-language-python.md#access-app-settings-as-environment-variables)
37-
- [Java](configure-language-java-data-sources.md#configure-data-sources)
37+
- [Java](configure-language-java-data-sources.md)
3838
- [Custom containers](configure-custom-container.md#configure-environment-variables)
3939

4040
App settings are always encrypted when stored (encrypted-at-rest).
@@ -216,7 +216,7 @@ At runtime, connection strings are available as environment variables, prefixed
216216
* Notification Hub: `NOTIFICATIONHUBCONNSTR_`
217217
* Service Bus: `SERVICEBUSCONNSTR_`
218218
* Event Hub: `EVENTHUBCONNSTR_`
219-
* Document Db: `DOCDBCONNSTR_`
219+
* Document DB: `DOCDBCONNSTR_`
220220
* Redis Cache: `REDISCACHECONNSTR_`
221221

222222
>[!Note]

articles/app-service/configure-language-java-apm.md

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ To enable via the Azure CLI, you need to create an Application Insights resource
9999
100100
1. Create a NewRelic account at [NewRelic.com](https://newrelic.com/signup)
101101
2. Download the Java agent from NewRelic. It has a file name similar to *newrelic-java-x.x.x.zip*.
102-
3. Copy your license key, you'll need it to configure the agent later.
102+
3. Copy your license key, you need it to configure the agent later.
103103
4. [SSH into your App Service instance](configure-linux-open-ssh-session.md) and create a new directory */home/site/wwwroot/apm*.
104104
5. Upload the unpacked NewRelic Java agent files into a directory under */home/site/wwwroot/apm*. The files for your agent should be in */home/site/wwwroot/apm/newrelic*.
105105
6. Modify the YAML file at */home/site/wwwroot/apm/newrelic/newrelic.yml* and replace the placeholder license value with your own license key.
@@ -187,18 +187,22 @@ To enable via the Azure CLI, you need to create an Application Insights resource
187187
## Configure Datadog
188188
189189
# [Windows](#tab/windows)
190-
* The configuration options are different depending on which Datadog site your organization is using. Therefore please reference and follow the steps here in the official [Datadog Integration for Azure Documentation](https://docs.datadoghq.com/integrations/azure/)
190+
* The configuration options are different depending on which Datadog site your organization is using. See the official [Datadog Integration for Azure Documentation](https://docs.datadoghq.com/integrations/azure/)
191+
192+
# [Linux](#tab/linux)
193+
* The configuration options are different depending on which Datadog site your organization is using. See the official [Datadog Integration for Azure Documentation](https://docs.datadoghq.com/integrations/azure/)
191194
192-
# [Linux](#tab/windows)
193-
* The configuration options are different depending on which Datadog site your organization is using. Therefore please reference and follow the steps here in the official [Datadog Integration for Azure Documentation](https://docs.datadoghq.com/integrations/azure/)
195+
---
194196
195197
## Configure Dynatrace
196198
197199
# [Windows](#tab/windows)
198-
* Dynatrace provides an [Azure Native Dynatrace Service](https://www.dynatrace.com/monitoring/technologies/azure-monitoring/). To monitor Azure App Services using Dynatrace, please follow the steps in the official [Dynatrace for Azure documentation](https://docs.datadoghq.com/integrations/azure/)
200+
* Dynatrace provides an [Azure Native Dynatrace Service](https://www.dynatrace.com/monitoring/technologies/azure-monitoring/). To monitor Azure App Services using Dynatrace, see the official [Dynatrace for Azure documentation](https://docs.datadoghq.com/integrations/azure/)
199201
200-
# [Linux](#tab/windows)
201-
* Dynatrace provides an [Azure Native Dynatrace Service](https://www.dynatrace.com/monitoring/technologies/azure-monitoring/). To monitor Azure App Services using Dynatrace, please follow the steps in the official [Dynatrace for Azure documentation](https://docs.datadoghq.com/integrations/azure/)
202+
# [Linux](#tab/linux)
203+
* Dynatrace provides an [Azure Native Dynatrace Service](https://www.dynatrace.com/monitoring/technologies/azure-monitoring/). To monitor Azure App Services using Dynatrace, see the official [Dynatrace for Azure documentation](https://docs.datadoghq.com/integrations/azure/)
204+
205+
---
202206
203207
## Next steps
204208

articles/app-service/getting-started.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ ms.topic: overview
77
ms.custom: devx-track-extended-java, devx-track-python, devx-track-js
88
ms.date: 8/31/2023
99
zone_pivot_groups: app-service-getting-started-stacks
10-
<!-- #customer intent: As a developer, I want to learn how to deploy my web applications to Azure App Service so that I can take advantage of its managed platform and easily scale my applications. -->
1110
---
1211

1312
# Getting started with Azure App Service

articles/app-service/includes/deploy-intelligent-apps/deploy-intelligent-apps-linux-java-pivot.md

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,7 @@ You can use Azure App Service to create applications using Azure OpenAI and Open
1717

1818
### Set up web app
1919

20-
<<<<<<< HEAD
21-
For this Spring Boot application, we're building off the [quickstart](../../quickstart-java.md?tabs=springboot&pivots=java-maven-javase) app and adding an extra feature to make a request to an Azure OpenAI or OpenAI service. Add the following code to your application:
22-
=======
2320
For this Spring Boot application, we're building off the [quickstart](../../quickstart-java.md?tabs=springboot&pivots=java-javase) app and adding an extra feature to make a request to an Azure OpenAI or OpenAI service. Add the following code to your application:
24-
>>>>>>> 186f85b0178b (acrolinx and template errors)
2521

2622
```bash
2723
@RequestMapping("/")
@@ -35,9 +31,9 @@ For this Spring Boot application, we're building off the [quickstart](../../quic
3531

3632
### Secure your app with managed identity
3733

38-
Although optional, it's highly recommended to secure your application using [managed identity](../../overview-managed-identity.md) to authenticate your app to your Azure OpenAI resource. Skip this step if you are not using Azure OpenAI. This enables your application to access the Azure OpenAI resource without needing to manage API keys.
34+
Although optional, it's highly recommended to secure your application using [managed identity](../../overview-managed-identity.md) to authenticate your app to your Azure OpenAI resource. Skip this step if you're not using Azure OpenAI. This enables your application to access the Azure OpenAI resource without needing to manage API keys.
3935

40-
Follow the steps below to secure your application:
36+
To secure your application:
4137

4238
Add the Azure OpenAI dependency package. This package enables using Azure credentials in your app.
4339

@@ -60,16 +56,16 @@ OpenAIClient client = new OpenAIClientBuilder()
6056
.buildClient();
6157
```
6258

63-
Once the credentials are added to the application, you�ll then need to enable managed identity in your application and grant access to the resource.
59+
Once the credentials are added to the application, you need to enable managed identity in your application and grant access to the resource.
6460

65-
1. In your web app resource, navigate to the **Identity** page and turn on **System assigned** and click **Save**
66-
2. Once System assigned identity is turned on, it will register the web app with Microsoft Entra ID and the web app can be granted permissions to access protected resources.
61+
1. In your web app resource, navigate to the **Identity** page and turn on **System assigned** and select **Save**.
62+
2. Once System assigned identity is turned on, it registers the web app with Microsoft Entra ID and the web app can be granted permissions to access protected resources.
6763
3. Go to your Azure OpenAI resource and navigate to the **Access control (IAM)** page on the left pane.
68-
4. Find the Grant access to this resource card and click on **Add role assignment**
69-
5. Search for the **Cognitive Services OpenAI User** role and click **Next**
70-
6. On the **Members** tab, find **Assign access to** and choose the **Managed identity** option
71-
7. Next, click on **+Select Members** and find your web app
72-
8. Click **Review + assign**
64+
4. Find the Grant access to this resource card and select **Add role assignment**.
65+
5. Search for the **Cognitive Services OpenAI User** role and select **Next**.
66+
6. On the **Members** tab, find **Assign access to** and choose the **Managed identity** option.
67+
7. Next, select **+Select Members** and find your web app.
68+
8. Select **Review + assign**.
7369

7470
Your web app is now added as a cognitive service OpenAI user and can communicate to your Azure OpenAI resource.
7571

@@ -291,7 +287,7 @@ public class Application {
291287

292288
If you completed the steps above, you can deploy to App Service as you normally would. If you run into any issues, remember that you need to complete the following steps: grant your app access to your Key Vault, and add the app settings with key vault references as your values. App Service resolves the app settings in your application that match what you added in the portal.
293289

294-
Once the app is deployed, you can visit your site URL and you're greeted with the text that contains the response from your chat message prompt.
290+
Once the app is deployed, you can visit your site URL and see the text that contains the response from your chat message prompt.
295291

296292

297293
### Authentication

articles/app-service/includes/quickstart-java/quickstart-java-linux-maven-pivot.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ mvn clean install
5858
cd booty-duke-app-service
5959
```
6060

61-
If you see a message about being in **detached HEAD** state, this message is safe to ignore. Because you will not be making any commits, detached HEAD state is appropriate.
61+
If you see a message about being in **detached HEAD** state, this message is safe to ignore. Because you won't make any commits, detached HEAD state is appropriate.
6262

6363
# [Tomcat](#tab/tomcat)
6464

@@ -94,7 +94,7 @@ cd petstore-ee7
9494
mvn clean install
9595
```
9696

97-
If you see a message about being in **detached HEAD** state, this message is safe to ignore. Because you will not be making any commits, detached HEAD state is appropriate.
97+
If you see a message about being in **detached HEAD** state, this message is safe to ignore. Because you won't making any commits, detached HEAD state is appropriate.
9898

9999
---
100100

@@ -103,7 +103,7 @@ If you see a message about being in **detached HEAD** state, this message is saf
103103
> [!TIP]
104104
> The Maven plugin supports **Java 17** and **Tomcat 10.0**. For more information about latest support, see [Java 17 and Tomcat 10.0 are available on Azure App Service](https://devblogs.microsoft.com/java/java-17-and-tomcat-10-0-available-on-azure-app-service/).
105105
106-
The deployment process to Azure App Service uses your Azure credentials from the Azure CLI automatically. If the Azure CLI isn't installed locally, then the Maven plugin authenticates with Oauth or device login. For more information, see [authentication with Maven plugins](https://github.com/microsoft/azure-maven-plugins/wiki/Authentication).
106+
The deployment process to Azure App Service uses your Azure credentials from the Azure CLI automatically. If the Azure CLI isn't installed locally, then the Maven plugin authenticates with Oauth or device sign-in. For more information, see [authentication with Maven plugins](https://github.com/microsoft/azure-maven-plugins/wiki/Authentication).
107107

108108
Run the Maven command shown next to configure the deployment. This command helps you to set up the App Service operating system, Java version, and Tomcat version.
109109

@@ -206,7 +206,7 @@ mvn com.microsoft.azure:azure-webapp-maven-plugin:2.11.0:config
206206
207207
---
208208
209-
After you've confirmed your choices, the plugin adds the above plugin element and requisite settings to your project's `pom.xml` file that configure your web app to run in Azure App Service.
209+
After you confirm your choices, the plugin adds the above plugin element and requisite settings to your project's `pom.xml` file that configure your web app to run in Azure App Service.
210210
211211
The relevant portion of the `pom.xml` file should look similar to the following example.
212212
@@ -228,7 +228,7 @@ The relevant portion of the `pom.xml` file should look similar to the following
228228
</build>
229229
```
230230

231-
You can modify the configurations for App Service directly in your `pom.xml`. Some common configurations are listed below:
231+
You can modify the configurations for App Service directly in your `pom.xml`. Some common configurations are listed in the following table:
232232

233233
Property | Required | Description | Version
234234
---|---|---|---
@@ -243,7 +243,7 @@ Property | Required | Description | Version
243243

244244
For the complete list of configurations, see the plugin reference documentation. All the Azure Maven Plugins share a common set of configurations. For these configurations see [Common Configurations](https://github.com/microsoft/azure-maven-plugins/wiki/Common-Configuration). For configurations specific to App Service, see [Azure Web App: Configuration Details](https://github.com/microsoft/azure-maven-plugins/wiki/Azure-Web-App:-Configuration-Details).
245245

246-
Be careful about the values of `<appName>` and `<resourceGroup>` (`helloworld-1590394316693` and `helloworld-1590394316693-rg` accordingly in the demo), they are used later.
246+
Be careful about the values of `<appName>` and `<resourceGroup>` (`helloworld-1590394316693` and `helloworld-1590394316693-rg` accordingly in the demo). They're used later.
247247

248248
## 4 - Deploy the app
249249

@@ -282,7 +282,7 @@ Once deployment is completed, your application is ready at `http://<appName>.azu
282282

283283
---
284284

285-
**Congratulations!** You've deployed your first Java app to App Service.
285+
**Congratulations!** You deployed your first Java app to App Service.
286286

287287
## 5 - Clean up resources
288288

@@ -292,4 +292,4 @@ In the preceding steps, you created Azure resources in a resource group. If you
292292
az group delete --name <your resource group name; for example: helloworld-1558400876966-rg> --yes
293293
```
294294

295-
This command may take a minute to run.
295+
This command might take a minute to run.

0 commit comments

Comments
 (0)