Skip to content

In-App Identity

Share

An app can tell KT Accounts who the person is inside it. Their Account Settings page then shows it next to your app, for example “@aiden on notes.example.com”, and nowhere else. Use the person’s OpenID Connect access token for your app.

Terminal window
curl -s -X PUT https://accounts.aidenkt.com/oauth/identity -H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"displayName":"Aiden","handle":"aiden","profileUrl":"https://notes.example.com/@aiden"}'

200 {"identity": {"displayName": …, "handle": …, "profileUrl": …, "pictureUrl": …}}

Field Rules
displayName Up to 50 characters
handle 1 to 40 of letters, numbers, _, . and -. A leading @ is dropped
profileUrl https, on a host the app registered (an origin or the host of a redirect URI)

null clears a field; a field you leave out is kept. 30 changes an hour per person and app.

The person’s picture in your app: exactly 512 x 512 pixels, WebP or JPEG, at most 400 KB, with no metadata (no EXIF, XMP or ICC). KT Accounts keeps its own copy and never loads images from your site.

Terminal window
curl -s -X PUT https://accounts.aidenkt.com/oauth/identity/picture -H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: image/webp" --data-binary @picture.webp

10 pictures a day per person and app.

Terminal window
curl -s -X DELETE https://accounts.aidenkt.com/oauth/identity -H "Authorization: Bearer $ACCESS_TOKEN"
curl -s -X DELETE https://accounts.aidenkt.com/oauth/identity/picture -H "Authorization: Bearer $ACCESS_TOKEN"

All of it is removed when the person removes your app in Account Settings, or when the app is deleted.