Skip to content

UID2-6592: Document UID2 token validator in integration guides#1001

Open
BehnamMozafari wants to merge 7 commits intomainfrom
bmz-UID2-6592-token-validator
Open

UID2-6592: Document UID2 token validator in integration guides#1001
BehnamMozafari wants to merge 7 commits intomainfrom
bmz-UID2-6592-token-validator

Conversation

@BehnamMozafari
Copy link

  • Added new reference page "UID2 Token Validator" giving an overview and instructions
  • Linked to reference page in "Preparing DII for Processing" section of integration guides
  • Linked to tool reference page in "Normalization and Encoding"

Copy link
Collaborator

@genwhittTTD genwhittTTD left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Few small edits and I sent the proposed updates to the sidebars file via Slack.

Great work.

## UID2 Token Validator

:::note
This section is for publishers only. Publishers are the only participants who should generate [UID2 tokens](../ref-info/glossary-uid.md#gl-uid2-token) using directly identifying information (DII).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggest remove "should" here. Publishers are the only participants who can and do, I think. "should" implies it's possible for other participants to do so, which is hopefully not true.

Suggested change
This section is for publishers only. Publishers are the only participants who should generate [UID2 tokens](../ref-info/glossary-uid.md#gl-uid2-token) using directly identifying information (DII).
This section is for publishers only. Publishers are the only participants who generate [UID2 tokens](../ref-info/glossary-uid.md#gl-uid2-token) using directly identifying information (DII).

This section is for publishers only. Publishers are the only participants who should generate [UID2 tokens](../ref-info/glossary-uid.md#gl-uid2-token) using directly identifying information (DII).
:::

To validate the full token generation pipeline end-to-end, confirming that <Link href="../ref-info/glossary-uid#gl-uid2-token">UID2 tokens</Link> generated from your normalized, hashed and encoded values are correct, use the [UID2 Token Validator](../ref-info/ref-token-validator.md).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All good here except two small things:

  1. end to end is not a modifier here, so use separate words, no hyphens:

"to validate ... end to end"

When used as a modifier it would be correct: for example, "end-to-end workflow"

  1. serial comma after hashed -- normal in the US.
Suggested change
To validate the full token generation pipeline end-to-end, confirming that <Link href="../ref-info/glossary-uid#gl-uid2-token">UID2 tokens</Link> generated from your normalized, hashed and encoded values are correct, use the [UID2 Token Validator](../ref-info/ref-token-validator.md).
To validate the full token generation pipeline end to end, confirming that <Link href="../ref-info/glossary-uid#gl-uid2-token">UID2 tokens</Link> generated from your normalized, hashed, and encoded values are correct, use the [UID2 Token Validator](../ref-info/ref-token-validator.md).

@@ -0,0 +1,81 @@
---
title: UID2 Token Validator
description: How to use the UID2 Token Validator to validate UID2 tokens against source DII and confirm your token generation workflow is correct.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggest add "that":

"and confirm that your..."

Tiny bit clearer


# UID2 Token Validator

The [UID2 Token Validator](https://token-validator.uidapi.com/) is a web-based tool that validates <Link href="../ref-info/glossary-uid#gl-uid2-token">UID2 tokens</Link> against their source <Link href="../ref-info/glossary-uid#gl-dii">directly identifying information (DII)</Link> to confirm that token generation is working correctly.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"to confirm that token generation is working correctly." sounds as though we're checking to make sure things are functioning correctly on our side. In fact, we're checking that they are doing their steps correctly (I think).

Suggest:

Suggested change
The [UID2 Token Validator](https://token-validator.uidapi.com/) is a web-based tool that validates <Link href="../ref-info/glossary-uid#gl-uid2-token">UID2 tokens</Link> against their source <Link href="../ref-info/glossary-uid#gl-dii">directly identifying information (DII)</Link> to confirm that token generation is working correctly.
The [UID2 Token Validator](https://token-validator.uidapi.com/) is a web-based tool that validates <Link href="../ref-info/glossary-uid#gl-uid2-token">UID2 tokens</Link> against their source <Link href="../ref-info/glossary-uid#gl-dii">directly identifying information (DII)</Link> to confirm that your token generation process is correct.

(second person, "you", is good, as you've used later -- more direct.)


## Overview

Publishers who generate UID2 tokens by providing DII sometimes receive tokens that appear valid but are unusable in the UID2 ecosystem. This happens when the normalization or hashing steps are not performed correctly. Because UID2 uses the normalized and hashed form of DII to derive the token, an error in either step produces a token that is unique to the publisher and will not match tokens generated by other publishers, data providers, or advertisers' CRM uploads.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Technical question here. I thought that a publisher token IS unique to the publisher, and does not, must not, match tokens generated by other publishers. I believe it is. I could well be wrong. Would appreciate to check. I might be getting mixed up with Sharing functionality.

I think what we are trying to say is simply that if there is an error in the earlier steps, the result is not a valid UID2 token.

| Validation Result | Meaning |
|---|---|
| `Token matches identifier` | The token matches the provided DII, the token was generated from the correct normalized hash |
| `Failed: Token does not match identifier` | The token does not match the provided DII, the most likely cause is incorrect normalization or hashing |
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two sentences.

Suggested change
| `Failed: Token does not match identifier` | The token does not match the provided DII, the most likely cause is incorrect normalization or hashing |
| `Failed: Token does not match identifier` | The token does not match the provided DII. The most likely cause is incorrect normalization or hashing. |


| Validation Result | Meaning |
|---|---|
| `Token matches identifier` | The token matches the provided DII, the token was generated from the correct normalized hash |
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two sentences, with periods.

Suggested change
| `Token matches identifier` | The token matches the provided DII, the token was generated from the correct normalized hash |
| `Token matches identifier` | The token matches the provided DII. This means that the token was generated from the correct normalized hash. |

| `Failed: {"status":"unauthorized"}` | The API credentials provided are invalid or unauthorized |

:::tip
If the result is **Failed: Token does not match identifier**, compare the **Normalized Hash** shown in the results with what your own implementation produces for the same DII. If they differ, the issue is in your normalization or hashing steps. See [Normalization and Encoding](../getting-started/gs-normalization-encoding.md) and [Preparing Emails and Phone Numbers for Processing](ref-preparing-emails-and-phone-numbers-for-processing.md).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

produces > produced

For details, see [Preparing Emails and Phone Numbers for Processing](../ref-info/ref-preparing-emails-and-phone-numbers-for-processing.md). No newline at end of file
For details, see [Preparing Emails and Phone Numbers for Processing](../ref-info/ref-preparing-emails-and-phone-numbers-for-processing.md).

To validate the full token generation pipeline end-to-end, confirming that tokens generated from your normalized, hashed and encoded values are correct, use the [UID2 Token Validator](../ref-info/ref-token-validator.md). No newline at end of file
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two small things here. End-to-end shoudl not be hyphenated, and add a comma after hashed (American usually does use this comma):

Suggested change
To validate the full token generation pipeline end-to-end, confirming that tokens generated from your normalized, hashed and encoded values are correct, use the [UID2 Token Validator](../ref-info/ref-token-validator.md).
To validate the full token generation pipeline end to end, confirming that tokens generated from your normalized, hashed, and encoded values are correct, use the [UID2 Token Validator](../ref-info/ref-token-validator.md).

'getting-started/gs-encryption-decryption',
'getting-started/gs-normalization-encoding',
'ref-info/ref-preparing-emails-and-phone-numbers-for-processing',
'ref-info/ref-token-validator',
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need additional entries in sidebars.js to exclude it from the sidebar for the other personas.
Sending proposed revised sidebar via Slack.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants