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: src/pages/guides/authentication/AdminAuthentication/implementation.md
+6-14Lines changed: 6 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -67,22 +67,20 @@ Once the admin provides consent and is redirected back to your app, a few query
67
67
68
68
The `admin_consent` parameter will not be present in the redirect in cases of error. Instead the `error` parameter will be present and the error code will be supplied as the value. Look at the [API reference](ims.md#error-codes) to view all error codes and what they mean.
69
69
70
-
1. The `state` parameter is set to the value you supplied in the consent URL.
71
-
72
-
The parameter is used to prevent Cross-site Request Forgery (CSRF) attacks. To validate it,
70
+
2. The `state` parameter is set to the value you supplied in the consent URL. The parameter is used to prevent Cross-site Request Forgery (CSRF) attacks. To validate it:
73
71
1. Send the `state` parameter and the user's session ID (stored in browser cookies or local storage) to your backend server.
74
72
2. On your backend server, compare the state value in the redirect to the version saved in the user’s session on your server.
75
73
3. If the values do not match, you must terminate the consent workflow and reject the redirect.
76
74
77
-
1. The `id_token` parameter is only present if the admin provided consent to your application. To validate it
75
+
3. The `id_token` parameter is only present if the admin provided consent to your application. To validate it:
78
76
1. Send the `id_token` parameter and the user's session ID (stored in browser cookies or local storage) to your backend server.
79
77
2. On your backend server, inspect the `id_token` and validate its signature (view [sample code](samples.md)).
80
78
3. On your backend server, extract the value of the `nonce` claim from the `id_token` (view [sample code](samples.md)). Compare the value of the `nonce` claim to the version saved in the user’s session on your server.
81
79
4. If the signature of the `id_token` is not valid or the value of the `nonce` claim does not match, you must terminate the consent workflow and reject the redirect.
82
80
83
81
<InlineAlertslots="text"/>
84
82
85
-
Verifying the redirect is critical to the security of your application and Adobe customer data. View our [code samples](samples.md) (available in NodeJS, Python, and Java) to learn how to implement the verification logic in your application.
83
+
Verifying the redirect is critical to the security of your application and Adobe customer data. View our [code samples](samples.md) (available in [NodeJS](samples.md#nodejs), [Python](samples.md#python), and [Java](samples.md#java)) to learn how to implement the verification logic in your application.
86
84
87
85
88
86
### Step 3: Generating access tokens after the admin consents
@@ -149,19 +147,13 @@ Programmatic rotation of Enterprise Web App client secrets is not currently supp
149
147
150
148
Once the consent screen loads the admin can provide consent to your app or cancel the workflow. In either case and even in cases of error, the admin will be redirected back to your application.
151
149
152
-
The default redirect URI is used if no specific `redirect_uri` is passed in the consent URL. It is also used in case an error occurs during the consent workflow.
153
-
154
-
The default redirect URI must be an absolute HTTPS URL without wildcards, up to 256 characters. For example: `https://localhost`, `https://localhost:8000`, `https://example.com/redirect`.
150
+
The default redirect URI is used if no specific `redirect_uri` is passed in the consent URL. It is also used in case an error occurs during the consent workflow. The default redirect URI must be an absolute HTTPS URL without wildcards, up to 256 characters. For example: `https://localhost`, `https://localhost:8000`, `https://example.com/redirect`.
155
151
156
152
However, if a `redirect_uri` was specified in the consent URL and matches one of the redirect URL patterns configured in your credential, Adobe will redirect the admin to the specified redirect URL.
157
153
158
-
The redirect URL pattern is a comma-separated list of URIs with wildcards used to validate any `redirect_uri` specified in the consent URL.
159
-
160
-
The redirect URL pattern can be up to 512 characters. It must contain `https` URLs and supports wildcards to combine multiple redirect URLs together.
161
-
162
-
As each redirect URI pattern is treated as a regex, any Periods `.` in the pattern must be escaped as `\\.`.
154
+
The redirect URL pattern is a comma-separated list of URIs with wildcards used to validate any `redirect_uri` specified in the consent URL. The redirect URL pattern can be up to 512 characters. It must contain `https` URLs and supports wildcards to combine multiple redirect URLs together.
163
155
164
-
For security reasons, wildcards are not allowed in subdomains or HTTP port, they're only allowed in the HTTP path. For example: `https://data\\.myapp\\.com/redirect/*`.
156
+
As each redirect URI pattern is treated as a regex, any Periods `.` in the pattern must be escaped as `\\.`. For security reasons, wildcards are not allowed in subdomains or HTTP port, they're only allowed in the HTTP path. For example: `https://data\\.myapp\\.com/redirect/*`.
165
157
166
158
### Implementing security features during the redirect
Copy file name to clipboardExpand all lines: src/pages/guides/authentication/AdminAuthentication/index.md
+7-3Lines changed: 7 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,16 @@
1
1
# Admin authentication
2
2
3
-
If you are an Adobe Technology Partner Program (TPP) partner and your application needs to read or modify data owned by an Adobe enterprise customer organization, you can use an Admin authentication credential. Before your application can access customer data, an administrator from the customer’s organization must explicitly grant consent to your application.
3
+
Admin authentication enables partner-built apps to read and modify Adobe enterprise customer data with their explicit consent.
4
4
5
-
Note: Before the partner app can access customer data, the customer admin must explicitly consent to the app and assign relevant product profiles. Furthermore, the admin can modify the assigned product profiles or revoke the consent altogether at any time.
5
+
If you are an Adobe Technology Partner Program (TPP) partner and your application needs to read or modify data owned by an Adobe enterprise customer organization, you can use an Admin authentication credential.
6
+
7
+
However, before your application can access customer data, an administrator from the customer’s organization must explicitly grant consent to your application and assign relevant product profiles.
8
+
9
+
Note: The admin always remains in control and can modify the assigned product profiles or revoke your app's consent at any time.
6
10
7
11
<InlineAlertslots="text"/>
8
12
9
-
Note: Admin authentication and the Enterprise Web App credential is only available to Adobe Technology Partner Program (TPP) partners.
13
+
Admin authentication and the Enterprise Web App credential is only available to Adobe Technology Partner Program (TPP) partners.
10
14
11
15
12
16
## Whose data can you access with Admin authentication?
Copy file name to clipboardExpand all lines: src/pages/guides/authentication/index.md
+4-7Lines changed: 4 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -67,10 +67,7 @@ View our guide on API key credentials -
67
67
68
68
If you are an Adobe Technology Program Partner and your application needs to read or modify the data of an Adobe enterprise customer, you can do so using an admin authentication credential. However, before your application can view or edit the customer's data, a customer admin would need to provide explicit 'consent' to your application.
69
69
70
-
TODO: fix links
71
-
72
-
View our guide on user authentication credentials -
73
-
1.[Understanding OAuth 2.0 `authorization_code` grant flow (3-legged OAuth)](./UserAuthentication/index.md)
74
-
2.[Learning about the different user authentication credential types](./UserAuthentication/implementation.md#user-authentication-credential-types)
75
-
3.[Understanding default redirect URI and redirect URI pattern](./UserAuthentication/implementation.md#understanding-default-redirect-uri-and-redirect-uri-patterns)
76
-
4.[Implementing user authentication using standard OAuth2 libraries](./UserAuthentication/implementation.md#standard-oauth2-libraries)
70
+
View our guide on admin authentication credentials -
0 commit comments