Run through this before real customers sign up.
- Your redirect, post-logout and initiate login URIs are registered exactly, on HTTPS.
- The client secret lives in your secret store, never in the browser or your repository.
-
subjectis a unique column, and sign-in matches customers by it: it is thesubin every ID token and stays the same across renewals. A credential’s document number changes each time it renews, so don’t key on it. Your own fields, email included, are yours to search however you like. - Your welcome email carries the claim link, from your own domain.
- Someone who signs up again before claiming gets a new link for the
subject you already stored (send
subjectwith the offer). Ask for a new subject only when the hub answers404 unknown_subject;409 already_claimedmeans they hold it already, so send them to sign in. - Sign-in sends
prompt=loginafter a sign-out or a refusal. - Refusals show your own wording, never
error_description. - Closing an account calls the erase endpoint, and treats
404as done. - Your server verifies the HumanProof token before it saves a record or asks for a subject.