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: powerapps-docs/developer/data-platform/authenticate-oauth.md
+20-18Lines changed: 20 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
title: "Use OAuth authentication with Microsoft Dataverse (Dataverse) | Microsoft Docs"# Intent and product brand in a unique string of 43-59 chars including spaces
3
3
description: "Learn how to authenticate applications with Microsoft Dataverse using OAuth."# 115-145 characters including spaces. This abstract displays in the search result.
4
4
ms.custom: has-adal-ref
5
-
ms.date: 09/12/2022
5
+
ms.date: 10/16/2023
6
6
ms.reviewer: pehecke
7
7
ms.topic: article
8
8
author: ritesp # GitHub ID
@@ -16,11 +16,11 @@ contributors:
16
16
17
17
# Use OAuth authentication with Microsoft Dataverse
18
18
19
-
[OAuth 2.0](https://oauth.net/2/) is the industry-standard protocol for authorization. After application users provide credentials to authenticate, OAuth determines whether they are authorized to access the resources.
19
+
[OAuth 2.0](https://oauth.net/2/) is the industry-standard protocol for authorization. After application users provide credentials to authenticate, OAuth determines whether they're authorized to access the resources.
20
20
21
21
Client applications must support the use of OAuth to access data using the Web API. OAuth enables two-factor authentication (2FA) or certificate-based authentication for server-to-server application scenarios.
22
22
23
-
OAuth requires an identity provider for authentication. For Dataverse, the identity provider is Azure Active Directory (AAD). To authenticate with AAD using a Microsoft work or school account, use the [Microsoft Authentication Library](/azure/active-directory/develop/msal-overview#languages-and-frameworks) (MSAL).
23
+
OAuth requires an identity provider for authentication. For Dataverse, the identity provider is Azure Active Directory (AD). To authenticate with AD using a Microsoft work or school account, use the [Microsoft Authentication Library](/azure/active-directory/develop/msal-overview#languages-and-frameworks) (MSAL).
24
24
25
25
> [!NOTE]
26
26
> This topic will introduce common concepts related to connecting to Dataverse using OAuth with authentication libraries. This content will focus on how a developer can connect to Dataverse but not on the inner workings of OAuth or the libraries. For complete information related to authentication see the Azure Active Directory documentation. [What is authentication?](/azure/active-directory/develop/authentication-scenarios) is a good place to start.
@@ -29,38 +29,38 @@ OAuth requires an identity provider for authentication. For Dataverse, the ident
29
29
30
30
## App Registration
31
31
32
-
When you connect using OAuth you must first register an application in your Azure AD tenant. How you should register your app depends on the type of app you want to make.
32
+
When you connect using OAuth, you must first register an application in your Azure AD tenant. How you should register your app depends on the type of app you want to make.
33
33
34
-
In all cases, start with basic steps to register an app described in the AAD topic: [Quickstart: Register an application with the Microsoft identity platform](/azure/active-directory/develop/quickstart-register-app). For Dataverse specific instructions see [Walkthrough: Register an app with Azure Active Directory > Create an application registration](walkthrough-register-app-azure-active-directory.md#create-an-application-registration).
34
+
In all cases, start with basic steps to register an app described in the AD article: [Quickstart: Register an application with the Microsoft identity platform](/azure/active-directory/develop/quickstart-register-app). For Dataverse specific instructions see [Walkthrough: Register an app with Azure Active Directory > Create an application registration](walkthrough-register-app-azure-active-directory.md#create-an-application-registration).
35
35
36
-
The decisions you will need to make in this step mostly depend on the Application Type choice (see below).
36
+
The decisions you need to make in this step mostly depend on the Application Type choice (see below).
37
37
38
38
### Types of app registration
39
39
40
-
When you register an app with Azure AD one of the decisions you must make is the application type. There are two types of applications you can register:
40
+
When you register an app with Azure AD one of the decisions, you must make is the application type. There are two types of applications you can register:
41
41
42
42
| Application type | Description|
43
43
|------------------|------------|
44
44
| Web app /API |**Web client**<br />A type of [client application](/azure/active-directory/develop/developer-glossary#client-application) that executes all code on a web server.<br /><br />**User-agent-based client**<br />A type of [client application](/azure/active-directory/develop/developer-glossary#client-application) that downloads code from a web server and executes within a user-agent (for instance, a web browser), such as a Single Page Application (SPA). |
45
45
|Native|A type of [client application](/azure/active-directory/develop/developer-glossary#client-application) that is installed natively on a device. |
46
46
47
-
When you select **Web app /API** you must provide a **Sign-On URL** which is the URL where Azure AD will send the authentication response, including a token if authentication was successful. While you develop an app, this is usually set to `https://localhost/appname:[port]` so you can develop and debug your app locally. When you publish your app, you need to change this value to the published URL of the app.
47
+
When you select **Web app /API** you must provide a **Sign-On URL** which is the URL where Azure AD sends the authentication response, including a token if authentication was successful. While you develop an app, this URL is usually set to `https://localhost/appname:[port]` so you can develop and debug your app locally. When you publish your app, you need to change this value to the published URL of the app.
48
48
49
-
When you select **Native**, you must provide a Redirect URI. This is a unique identifier to which Azure AD will redirect the user-agent in an OAuth 2.0 request. This is typically a value formatted like so: `app://<guid>`.
49
+
When you select **Native**, you must provide a Redirect URI. This URL is a unique identifier to which Azure AD will redirect the user-agent in an OAuth 2.0 request. This URL is typically a value formatted like so: `app://<guid>`.
50
50
51
51
### Giving access to Dataverse
52
52
53
-
If your app will be a client which allows the authenticated user to perform operations, you must configure the application to have the Access Dynamics 365 as organization users delegated permission.
53
+
If your app is a client that allows the authenticated user to perform operations, you must configure the application to have the Access Dynamics 365 as organization users delegated permission.
54
54
55
-
For specific steps to do this, see [Walkthrough: Register an app with Azure Active Directory > Apply Permissions](walkthrough-register-app-azure-active-directory.md).
55
+
For specific steps to set permissions, see [Walkthrough: Register an app with Azure Active Directory > Apply Permissions](walkthrough-register-app-azure-active-directory.md).
56
56
57
57
<!-- TODO Verify this -->
58
58
59
-
If your app will use Server-to-Server (S2S) authentication, this step is not required. That configuration requires a specific system user and the operations will be performed by that user account rather than any user that must be authenticated.
59
+
If your app uses Server-to-Server (S2S) authentication, this step isn't required. That configuration requires a specific system user and the operations are performed by that user account rather than any user that must be authenticated.
60
60
61
61
### Use Client Secrets & Certificates
62
62
63
-
For server to server scenarios there will not be an interactive user account to authenticate. In these cases, you need to provide some means to confirm that the application is trusted. This is done using client secrets or certificates.
63
+
For server-to-server scenarios there won't be an interactive user account to authenticate. In these cases, you need to provide some means to confirm that the application is trusted. This is done using client secrets or certificates.
64
64
65
65
For apps that are registered with the **Web app /API** application type, you can configure secrets. These are set using the **Keys** area under **API Access** in the **Settings** for the app registration.
66
66
@@ -85,12 +85,14 @@ Dataverse SDK for .NET includes client classes [CrmServiceClient](xref:Microsoft
85
85
86
86
## Use the AccessToken with your requests
87
87
88
-
The point of using the authentication libraries is to get an access token that you can include with your requests.
89
-
This only requires a few lines of code, and just a few more lines to configure an [HttpClient](xref:System.Net.Http.HttpClient) to execute a request.
88
+
The point of using the authentication libraries is to get an access token that you can include with your requests. Getting the token only requires a few lines of code, and just a few more lines to configure an [HttpClient](xref:System.Net.Http.HttpClient) to execute a request.
89
+
90
+
> [!IMPORTANT]
91
+
> As demonstrated in the sample code of this article, use a "\<environment-url>/user_impersonation" scope for a public client. For a confidential client, use a scope of "\<environment-url>/.default".
90
92
91
93
### Simple example
92
94
93
-
The following is the minimum amount of code needed to execute a single Web API request, but it is not the recommended approach. Note that this code uses the MSAL library and is taken from the [QuickStart](https://github.com/microsoft/PowerApps-Samples/tree/master/dataverse/webapi/C%23/QuickStart) sample.
95
+
The following is the minimum amount of code needed to execute a single Web API request, but it isn't the recommended approach. Note that this code uses the MSAL library and is taken from the [QuickStart](https://github.com/microsoft/PowerApps-Samples/tree/master/dataverse/webapi/C%23/QuickStart) sample.
Copy file name to clipboardExpand all lines: powerapps-docs/maker/model-driven-apps/create-themes-organization-branding.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
@@ -2,7 +2,7 @@
2
2
title: "Change the color scheme or add a logo to match your brand (contains video) | MicrosoftDocs"
3
3
description: Learn how to change the color scheme for your app with Power Apps
4
4
ms.custom: ""
5
-
ms.date: 01/12/2021
5
+
ms.date: 10/16/2023
6
6
ms.reviewer: ""
7
7
ms.suite: ""
8
8
ms.tgt_pltfrm: ""
@@ -17,11 +17,11 @@ search.audienceType:
17
17
---
18
18
# Use a theme to create a custom look for your app
19
19
20
-
21
-
22
20
You can create a custom look and feel (a theme), for your app by making changes to the default colors and visual elements provided in the uncustomized system. For example, you can create your personal product branding by adding a company logo and providing table-specific coloring. A theme can be created by using the **Themes** area, without requiring a developer to write code. You can create, clone, change, or delete themes that are used in your environment.
23
21
24
22
> [!NOTE]
23
+
> There's new way to create themes in model-driven apps for customizing the model-driven app header. More information: [Use modern themes](modern-theme-overrides.md)
24
+
>
25
25
> You can define multiple themes, but only a single theme can be active in an environment and is identified as the default theme. To make a theme active, you publish it.
title: "FAQs for timeline control (section) in Power Apps | MicrosoftDocs"
3
-
description: "FAQs for timeline control (section) in Power Apps"
4
-
ms.date: 09/10/2021
5
-
2
+
title: "FAQs for timeline control in Power Apps | MicrosoftDocs"
3
+
description: "Frequently asked questions (FAQs) for the timeline control in Power Apps"
4
+
ms.date: 10/05/2023
6
5
ms.topic: troubleshooting
7
6
author: "lalexms"
8
-
ms.assetid: 7F495EE1-1208-49DA-9B02-17855CEB2FDF
9
7
ms.subservice: mda-maker
10
8
ms.author: "laalexan"
9
+
contributors:
10
+
- dsierman
11
11
search.audienceType:
12
12
- maker
13
13
---
14
+
# FAQs for the timeline control
14
15
15
-
#FAQs for timeline control (classic)
16
+
## A command isn't working. How do I use the command checker tool for timeline?
16
17
18
+
For instructions about how to enable and use the command checker, go to [Troubleshooting ribbon issues in Power Apps](/troubleshoot/power-platform/power-apps/create-and-use-apps/ribbon-issues)
17
19
20
+
If an error dialog box displays "We can't compete the action you've selected" when trying to use the command action for activities on a timeline, it might be that the command action is hidden by custom rules. You can confirm by checking if the same action is hidden from **Related** > **Activities**.
18
21
19
-
There aren't currently any FAQs. As new FAQs are raised, we will update this topic.
22
+
:::image type="content" source="media/related-activities.png" alt-text="Go to related activities in the timeline":::
20
23
24
+
From the **Activities** tab, select the same activity that you want to perform the action on, and then check if you can perform the same command action from there.
21
25
22
-
## See also
26
+
:::image type="content" source="media/select-related-activity.png" alt-text="Select the related activity that you want":::
23
27
24
-
[Set up timeline control](set-up-timeline-control.md)
28
+
If the command action works here but not from the timeline, contact [Microsoft Support](/power-platform/admin/get-help-support).
29
+
30
+
If you can't find the command action from the related activity grid, you can further troubleshoot the issue with [command checker](https://powerapps.microsoft.com/en-us/blog/introducing-command-checker-for-model-app-ribbons/) to find out which custom rule hides the command.
31
+
32
+
1. Play the model-driven app that has the timeline.
33
+
1. From a table record that displays the timeline, select **Related** > **Activities** to go to the **Open Activity Associated View**.
34
+
1. Enable the command checker tool by appending the `&ribbondebug=true` parameter to the app URL.
35
+
36
+
:::image type="content" source="media/command-checker-url-param.png" alt-text="Append URL parameter to add command checker":::
37
+
38
+
1. Select the **Command checker** command, which now appears on the app command bar. It might be listed on the **More** overflow flyout menu.
25
39
26
-
[Timeline section in the Customer Service Hub app](/dynamics365/customer-service/customer-service-hub-user-guide-basics#timeline)
[Add an appointment, email, phone call, note, or task activity to the timeline](../../user/add-activities.md)
42
+
1. From the command checker page that is displayed, select **Group Id: Mscrm.SubGrid.activitypointer.MainTab.Actions**, select a hidden command such as **Mark Complete (hidden)**, and then select the **Command properties** tab on the right to find out what custom rules are used to hide the command action.
43
+
44
+
:::image type="content" source="media/find-group-id.png" alt-text="Find group ID":::
45
+
46
+
> [!NOTE]
47
+
> The timeline always displays command actions without honoring the custom rules to hide or disable the command button for performance reasons.
48
+
49
+
## See also
50
+
51
+
[Set up timeline control](set-up-timeline-control.md)
29
52
53
+
[Use the timeline control](../../user/add-activities.md)
0 commit comments