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: docs/getting-started/gs-encryption-decryption.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
@@ -57,7 +57,7 @@ The following table describes the field layout for request encryption code.
57
57
58
58
| Offset (Bytes) | Size (Bytes) | Description |
59
59
| :--- | :--- | :--- |
60
-
| 0 | 8 | The <ahref="../ref-info/glossary-uid#gl-unix-time">Unix</a> timestamp (in milliseconds). Must be int64 big endian. |
60
+
| 0 | 8 | The <ahref="../ref-info/glossary-uid#gl-unix-time">Unix</a> timestamp (in milliseconds) of the request, in int64 big endian format.<br/>When the server receives and decrypts the envelope, it checks the embedded timestamp. If the timestamp is older than 60 seconds, the request is considered stale and is rejected. |
61
61
| 8 | 8 | Nonce: Random 64 bits of data used to help protect against replay attacks. The corresponding [Unencrypted Response Data Envelope](#unencrypted-response-data-envelope) should contain the same nonce value for the response to be considered valid. |
62
62
| 16 | N | Payload, which is a request JSON document serialized in UTF-8 encoding. |
63
63
@@ -96,7 +96,7 @@ The following table describes the field layout for response decryption code.
96
96
97
97
| Offset (Bytes) | Size (Bytes) | Description |
98
98
| :--- | :--- | :--- |
99
-
| 0 | 8 | The Unix timestamp (in milliseconds). Must be int64 big endian. |
99
+
| 0 | 8 | The Unix timestamp (in milliseconds) of the response, in int64 big endian format. |
100
100
| 8 | 8 | Nonce. For the response to be considered valid, this should match the nonce in the [unencrypted request data envelope](#unencrypted-request-data-envelope). |
101
101
| 16 | N | Payload, which is a response JSON document serialized in UTF-8 encoding. |
Copy file name to clipboardExpand all lines: docs/guides/integration-mobile-overview.md
+7-5Lines changed: 7 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -53,12 +53,13 @@ For details, refer to one of the following guides:
53
53
54
54
-[Client-Side Integration Guide for Mobile](integration-mobile-client-side.md)
55
55
-[Client-Server Integration Guide for Mobile](integration-mobile-client-server.md)
56
+
-[Server-Side Integration Guide for Mobile](integration-mobile-server-side.md)
56
57
57
58
## Mobile Integration Paths
58
59
59
60
To determine the best integration path for your mobile scenario, consider these points:
60
61
61
-
1. Do you want to retrieve the UID2 token on the client side or on the server side? See [Client-Side or Client-ServerIntegration](#client-side-or-client-server-integration).
62
+
1. Do you want to retrieve the UID2 token on the client side or on the server side? See [Client-Side, Client-Server, or Server-Side Integration?](#client-side-client-server-or-server-side-integration)
62
63
63
64
1. What do you want to use to retrieve and refresh the UID2 token? See [Generating, Storing, and Refreshing the UID2 Token](#generating-storing-and-refreshing-the-uid2-token).
64
65
@@ -70,18 +71,19 @@ To integrate with UID2, you'll need to have a UID2 account. If you haven't yet c
70
71
71
72
When initial account setup is complete, you'll receive instructions and a link to access the [UID2 Portal](../portal/portal-overview.md), where you can create your [credentials](../getting-started/gs-credentials.md) for the production environment and configure additional values, if needed. For details, see [Getting Started with the UID2 Portal](../portal/portal-getting-started.md).
72
73
73
-
The steps you'll take in the UID2 Portal are different depending on whether your implementation will be client-side, client-server, or server-side. Specific instructions are in each implementation guide. For a summary, see [Client-Side or Client-ServerIntegration?](#client-side-or-client-server-integration)
74
+
The steps you'll take in the UID2 Portal are different depending on whether your implementation will be client-side, client-server, or server-side. Specific instructions are in each implementation guide. For a summary, see [Client-Side, Client-Server, or Server-Side Integration?](#client-side-client-server-or-server-side-integration)
74
75
75
-
### Client-Side or Client-Server Integration?
76
+
### Client-Side, Client-Server, or Server-Side Integration?
76
77
77
78
The options for integrating with UID2 using the UID2 mobile SDKs are summarized in the following table. Choose the <Linkhref="../ref-info/glossary-uid#gl-integration-approaches">integration approach</Link> that's best for you.
78
79
79
80
For details, see [Integration Approaches](../ref-info/ref-integration-approaches.md).
80
81
81
82
| Scenario | Option | Integration Guide |
82
83
| :--- | :--- | :--- |
83
-
| You have access to <Linkhref="../ref-info/glossary-uid#gl-dii">DII</Link> (email address or phone number) on the client side/within the mobile app, and want to keep changes within your app only. | Client-side integration |[UID2 Client-Side Integration Guide for Mobile](integration-mobile-client-side.md)|
84
-
| You have access to DII on the server side only and can do the necessary development to generate UID2 tokens server-side, or you are using a <Linkhref="../ref-info/glossary-uid#gl-private-operator">Private Operator</Link>. | Client-Server Integration |[UID2 Client-Server Integration Guide for Mobile](integration-mobile-client-server.md)|
84
+
| You have access to <Linkhref="../ref-info/glossary-uid#gl-dii">DII</Link> (email address or phone number) on the client side/within the mobile app, and want to keep changes within your app only. | Client-Side integration |[UID2 Client-Side Integration Guide for Mobile](integration-mobile-client-side.md)|
85
+
| You have access to DII on the server side only and can do the necessary development to generate UID2 tokens server-side, but you want to refresh tokens on the client side—or you are using a <Linkhref="../ref-info/glossary-uid#gl-private-operator">Private Operator</Link>. | Client-Server Integration |[UID2 Client-Server Integration Guide for Mobile](integration-mobile-client-server.md)|
86
+
| You have access to DII on the server side only and can do the necessary development to generate UID2 tokens server-side, or you are using a <Linkhref="../ref-info/glossary-uid#gl-private-operator">Private Operator</Link>. | Server-Side Integration |[UID2 Server-Side Integration Guide for Mobile](integration-mobile-server-side.md)|
85
87
86
88
### Generating, Storing, and Refreshing the UID2 Token
title: UID2 Server-Side Integration Guide for Mobile
3
+
sidebar_label: Server-Side Integration for Mobile
4
+
pagination_label: UID2 Server-Side Integration Guide for Mobile
5
+
description: Setting up a mobile integration with token generate and refresh both on the server side.
6
+
hide_table_of_contents: false
7
+
sidebar_position: 04
8
+
---
9
+
10
+
import Link from '@docusaurus/Link';
11
+
12
+
# UID2 Server-Side Integration Guide for Mobile
13
+
14
+
This guide is for mobile app publishers who want to manage the UID2 token entirely on the server side:
15
+
16
+
- The token is generated on the server side.
17
+
- The token is refreshed as needed on the server side.
18
+
19
+
This setup requires that most of the code changes are done on the server side, with minimal changes in the mobile app.
20
+
21
+
One advantage of this approach is that if you're dealing with multiple platforms (Web / CTV / mobile), doing everything on the server side can reduce platform-specific efforts.
22
+
23
+
To implement using this approach, follow the instructions in [Publisher Integration Guide, Server-Side](integration-publisher-server-side.md).
24
+
25
+
If your server-side code is in Java or Python, you can use one of the UID2 SDKs to make the HTTP requests to UID2, instead of writing your own source code. For details, refer to one of the following SDK guides:
26
+
27
+
-[SDK for Java Reference Guide: Usage for Publishers](../sdks/sdk-ref-java.md#usage-for-publishers)
28
+
-[SDK for Python Reference Guide: Usage for Publishers](../sdks/sdk-ref-python.md#usage-for-publishers)
Copy file name to clipboardExpand all lines: docs/guides/integration-options-private-operator.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -51,6 +51,7 @@ If you choose to be a Private Operator, several implementation options are avail
51
51
-[Nitro Enclave](https://aws.amazon.com/ec2/nitro/) from AWS
52
52
-[Confidential Space](https://cloud.google.com/confidential-computing#confidential-space), a confidential computing option from [Google Cloud](https://cloud.google.com/docs/overview/) Platform
53
53
-[Confidential Containers](https://learn.microsoft.com/en-us/azure/confidential-computing/confidential-containers), a confidential computing option from Microsoft Azure
54
+
-[Azure Kubernetes Service (AKS)](https://learn.microsoft.com/en-us/azure/aks/what-is-aks), a confidential computing solution that runs on virtual nodes on Microsoft Azure container instances and uses Kubernetes.
54
55
55
56
## Private Operator Workflow
56
57
@@ -110,3 +111,4 @@ There is no functional difference between the Private Operator versions.
110
111
| AWS |[UID2 Private Operator for AWS Integration Guide](../guides/operator-guide-aws-marketplace.md)| Instructions for setting up a Private Operator service for AWS Marketplace. |
111
112
| GCP Confidential Space |[UID2 Private Operator for GCP Integration Guide](../guides/operator-private-gcp-confidential-space.md)| Information for setting up the UID2 Operator Service in [Confidential Space](https://cloud.google.com/confidential-computing#confidential-space), a confidential computing option from [Google Cloud](https://cloud.google.com/docs/overview/) Platform. |
112
113
| Azure |[UID2 Private Operator for Azure Integration Guide](../guides/operator-guide-azure-enclave.md)| Instructions for setting up the UID2 Operator Service in an instance of Confidential Containers, a confidential computing option from Microsoft Azure. |
114
+
| AKS |[UID2 Private Operator for AKS Integration Guide](../guides/operator-guide-aks-enclave.md)| Instructions for setting up the UID2 Operator Service in an instance of AKS, a confidential computing solution that runs on virtual nodes on Microsoft Azure container instances and uses Kubernetes. |
Copy file name to clipboardExpand all lines: docs/guides/mobile-plugin-gma-android.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,7 +33,7 @@ To integrate with UID2, you'll need to have a UID2 account. If you haven't yet c
33
33
34
34
When initial account setup is complete, you'll receive instructions and a link to access the [UID2 Portal](../portal/portal-overview.md), where you can create your [credentials](../getting-started/gs-credentials.md) for the production environment and configure additional values, if needed. For details, see [Getting Started with the UID2 Portal](../portal/portal-getting-started.md).
35
35
36
-
The steps you'll take in the UID2 Portal are different depending on whether your implementation will be client-side, client-server, or server-side. Specific instructions are in each implementation guide. For a summary, see [Client-Side or Client-ServerIntegration?](integration-mobile-overview#client-side-or-client-server-integration).
36
+
The steps you'll take in the UID2 Portal are different depending on whether your implementation will be client-side, client-server, or server-side. Specific instructions are in each implementation guide. For a summary, see [Client-Side, Client-Server, or Server-Side Integration?](integration-mobile-overview#client-side-client-server-or-server-side-integration)
Copy file name to clipboardExpand all lines: docs/guides/mobile-plugin-gma-ios.md
+1-2Lines changed: 1 addition & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,8 +33,7 @@ To integrate with UID2, you'll need to have a UID2 account. If you haven't yet c
33
33
34
34
When initial account setup is complete, you'll receive instructions and a link to access the [UID2 Portal](../portal/portal-overview.md), where you can create your [credentials](../getting-started/gs-credentials.md) for the production environment and configure additional values, if needed. For details, see [Getting Started with the UID2 Portal](../portal/portal-getting-started.md).
35
35
36
-
The steps you'll take in the UID2 Portal are different depending on whether your implementation will be client-side, client-server, or server-side. Specific instructions are in each implementation guide. For a summary, see [Client-Side or Client-Server Integration?](integration-mobile-overview#client-side-or-client-server-integration).
37
-
36
+
The steps you'll take in the UID2 Portal are different depending on whether your implementation will be client-side, client-server, or server-side. Specific instructions are in each implementation guide. For a summary, see [Client-Side, Client-Server, or Server-Side Integration?](integration-mobile-overview#client-side-client-server-or-server-side-integration)
Copy file name to clipboardExpand all lines: docs/guides/mobile-plugin-ima-android.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,7 +33,7 @@ To integrate with UID2, you'll need to have a UID2 account. If you haven't yet c
33
33
34
34
When initial account setup is complete, you'll receive instructions and a link to access the [UID2 Portal](../portal/portal-overview.md), where you can create your [credentials](../getting-started/gs-credentials.md) for the production environment and configure additional values, if needed. For details, see [Getting Started with the UID2 Portal](../portal/portal-getting-started.md).
35
35
36
-
The steps you'll take in the UID2 Portal are different depending on whether your implementation will be client-side, client-server, or server-side. Specific instructions are in each implementation guide. For a summary, see [Client-Side or Client-ServerIntegration?](integration-mobile-overview#client-side-or-client-server-integration).
36
+
The steps you'll take in the UID2 Portal are different depending on whether your implementation will be client-side, client-server, or server-side. Specific instructions are in each implementation guide. For a summary, see [Client-Side, Client-Server, or Server-Side Integration?](integration-mobile-overview#client-side-client-server-or-server-side-integration)
Copy file name to clipboardExpand all lines: docs/guides/mobile-plugin-ima-ios.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,7 +33,7 @@ To integrate with UID2, you'll need to have a UID2 account. If you haven't yet c
33
33
34
34
When initial account setup is complete, you'll receive instructions and a link to access the [UID2 Portal](../portal/portal-overview.md), where you can create your [credentials](../getting-started/gs-credentials.md) for the production environment and configure additional values, if needed. For details, see [Getting Started with the UID2 Portal](../portal/portal-getting-started.md).
35
35
36
-
The steps you'll take in the UID2 Portal are different depending on whether your implementation will be client-side, client-server, or server-side. Specific instructions are in each implementation guide. For a summary, see [Client-Side or Client-ServerIntegration?](integration-mobile-overview#client-side-or-client-server-integration).
36
+
The steps you'll take in the UID2 Portal are different depending on whether your implementation will be client-side, client-server, or server-side. Specific instructions are in each implementation guide. For a summary, see [Client-Side, Client-Server, or Server-Side Integration?](integration-mobile-overview#client-side-client-server-or-server-side-integration)
0 commit comments