diff --git a/package-lock.json b/package-lock.json
index cd67873..14d3d88 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "@startup-api/cloudflare",
- "version": "0.4.2",
+ "version": "0.4.3",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@startup-api/cloudflare",
- "version": "0.4.2",
+ "version": "0.4.3",
"license": "Apache-2.0",
"dependencies": {
"he": "^1.2.0",
diff --git a/package.json b/package.json
index 904f3cc..91d1d15 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@startup-api/cloudflare",
- "version": "0.4.2",
+ "version": "0.4.3",
"license": "Apache-2.0",
"publishConfig": {
"access": "public"
diff --git a/public/users/profile.html b/public/users/profile.html
index 50b77dc..972f473 100644
--- a/public/users/profile.html
+++ b/public/users/profile.html
@@ -136,6 +136,9 @@
Link another account
diff --git a/src/auth/AtprotoProvider.ts b/src/auth/AtprotoProvider.ts
index 7ca4c49..7b2bf2f 100644
--- a/src/auth/AtprotoProvider.ts
+++ b/src/auth/AtprotoProvider.ts
@@ -239,7 +239,7 @@ export class AtprotoProvider extends OAuthProvider {
const did = tokenData.sub || flow.did;
const { name, picture } = await fetchProfile(flow.pds, did, flow.handle);
- const profile: UserProfile = { id: did, name: name || flow.handle || did, picture };
+ const profile: UserProfile = { id: did, name: name || flow.handle || did, picture, handle: flow.handle };
const token: OAuthTokenResponse = {
access_token: tokenData.access_token,
refresh_token: tokenData.refresh_token,
diff --git a/src/auth/OAuthProvider.ts b/src/auth/OAuthProvider.ts
index 4a8bfda..82e2115 100644
--- a/src/auth/OAuthProvider.ts
+++ b/src/auth/OAuthProvider.ts
@@ -13,6 +13,8 @@ export interface UserProfile {
name?: string;
picture?: string;
verified_email?: boolean;
+ /** atproto only: the user's handle (e.g. `alice.bsky.social`), distinct from the `id` (a DID). */
+ handle?: string;
}
import type { Entitlements } from '../entitlements/types';
diff --git a/src/handlers/ssr.ts b/src/handlers/ssr.ts
index f4f80e5..6c6b7c1 100644
--- a/src/handlers/ssr.ts
+++ b/src/handlers/ssr.ts
@@ -193,10 +193,10 @@ function renderCredentialsList(credentials: any[], currentProvider?: string): st
- ${c.provider.charAt(0).toUpperCase() + c.provider.slice(1)}
+ ${providerLabel(c.provider)}
${isCurrent ? 'logged in' : ''}
-
${c.email || c.subject_id}
+
${credentialIdentifier(c)}