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)}