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/active-directory-b2c/restful-technical-profile.md
+13-14Lines changed: 13 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@ manager: celestedg
9
9
ms.service: active-directory
10
10
ms.workload: identity
11
11
ms.topic: reference
12
-
ms.date: 03/03/2020
12
+
ms.date: 03/16/2020
13
13
ms.author: mimart
14
14
ms.subservice: B2C
15
15
---
@@ -215,19 +215,7 @@ If the type of authentication is set to `Bearer`, the **CryptographicKeys** elem
215
215
216
216
## Returning error message
217
217
218
-
Your REST API may need to return an error message, such as 'The user was not found in the CRM system'. If an error occurs, the REST API should return an HTTP 409 error message (Conflict response status code) with following attributes:
219
-
220
-
| Attribute | Required | Description |
221
-
| --------- | -------- | ----------- |
222
-
| version | Yes | 1.0.0 |
223
-
| status | Yes | 409 |
224
-
| code | No | An error code from the RESTful endpoint provider, which is displayed when `DebugMode` is enabled. |
225
-
| requestId | No | A request identifier from the RESTful endpoint provider, which is displayed when `DebugMode` is enabled. |
226
-
| userMessage | Yes | An error message that is shown to the user. |
227
-
| developerMessage | No | The verbose description of the problem and how to fix it, which is displayed when `DebugMode` is enabled. |
228
-
| moreInfo | No | A URI that points to additional information, which is displayed when `DebugMode` is enabled. |
229
-
230
-
The following example shows a REST API that returns an error message formatted in JSON:
218
+
Your REST API may need to return an error message, such as 'The user was not found in the CRM system'. If an error occurs, the REST API should return an HTTP 4xx error message, such as, 400 (bad request), or 409 (conflict) response status code. The response body contains error message formatted in JSON:
231
219
232
220
```JSON
233
221
{
@@ -241,6 +229,17 @@ The following example shows a REST API that returns an error message formatted i
241
229
}
242
230
```
243
231
232
+
| Attribute | Required | Description |
233
+
| --------- | -------- | ----------- |
234
+
| version | Yes | Your REST API version. For example: 1.0.1 |
235
+
| status | Yes | Must be 409 |
236
+
| code | No | An error code from the RESTful endpoint provider, which is displayed when `DebugMode` is enabled. |
237
+
| requestId | No | A request identifier from the RESTful endpoint provider, which is displayed when `DebugMode` is enabled. |
238
+
| userMessage | Yes | An error message that is shown to the user. |
239
+
| developerMessage | No | The verbose description of the problem and how to fix it, which is displayed when `DebugMode` is enabled. |
240
+
| moreInfo | No | A URI that points to additional information, which is displayed when `DebugMode` is enabled. |
241
+
242
+
244
243
The following example shows a C# class that returns an error message:
A validation technical profile is an ordinary technical profile from any protocol, such as [Azure Active Directory](active-directory-technical-profile.md) or a [REST API](restful-technical-profile.md). The validation technical profile returns output claims or returns an HTTP 409 error message (Conflict response status code), with the following data:
21
+
A validation technical profile is an ordinary technical profile from any protocol, such as [Azure Active Directory](active-directory-technical-profile.md) or a [REST API](restful-technical-profile.md). The validation technical profile returns output claims, or returns 4xx HTTP status code, with the following data. For more information, see [returning error message](restful-technical-profile.md#returning-error-message)
22
22
23
23
```JSON
24
24
{
@@ -28,11 +28,11 @@ A validation technical profile is an ordinary technical profile from any protoco
28
28
}
29
29
```
30
30
31
-
Claims that are returned from a validation technical profile are added back to the claims bag. You can use those claims in the next validation technical profiles.
31
+
The scope of the output claims of a validation technical profile is limited to the [self-asserted technical profile](self-asserted-technical-profile.md) that invokes the validation technical profile, and its validation technical profiles. If you want to use the output claims in the next orchestration step, add the output claims to the self-asserted technical profile that invokes the validation technical profile.
32
32
33
33
Validation technical profiles are executed in the sequence that they appear in the **ValidationTechnicalProfiles** element. You can configure in a validation technical profile whether the execution of any subsequent validation technical profiles should continue if the validation technical profile raises an error or is successful.
34
34
35
-
A validation technical profile can be conditionally executed based on preconditions defined in the **ValidationTechnicalProfile** element. For example, you can check whether a specific claims exists, or if a claim is equal or not to the specified value.
35
+
A validation technical profile can be conditionally executed based on preconditions defined in the **ValidationTechnicalProfile** element. For example, you can check whether a specific claim exists, or if a claim is equal or not to the specified value.
36
36
37
37
A self-asserted technical profile may define a validation technical profile to be used for validating some or all of its output claims. All of the input claims of the referenced technical profile must appear in the output claims of the referencing validation technical profile.
0 commit comments