Graphical PDS migrator for AT Protocol

oauth metadata

Changed files
+26 -5
lib
oauth
static
+7 -5
lib/oauth/client.ts
···
const publicUrl = Deno.env.get("PUBLIC_URL");
const url = publicUrl || `http://127.0.0.1:8000`;
const enc = encodeURIComponent;
+
const clientId = publicUrl
+
? `${url}/oauth-client-metadata.json`
+
: `http://localhost?redirect_uri=${
+
enc(`${url}/api/oauth/callback`)
+
}&scope=${enc("atproto transition:generic transition:chat.bsky")}`;
+
console.log(`ClientId: ${clientId}`);
return new AtprotoOAuthClient({
clientMetadata: {
client_name: "Statusphere React App",
-
client_id: publicUrl
-
? `${url}/oauth-client-metadata.json`
-
: `http://localhost?redirect_uri=${
-
enc(`${url}/api/oauth/callback`)
-
}&scope=${enc("atproto transition:generic transition:chat.bsky")}`,
+
client_id: clientId,
client_uri: url,
redirect_uris: [`${url}/api/oauth/callback`],
scope: "atproto transition:generic transition:chat.bsky",
+19
static/oauth-client-metadata.json
···
+
{
+
"client_name": "ATP Airport",
+
"client_id": "https://atpairport.com/oauth-client-metadata.json",
+
"client_uri": "https://atpairport.com",
+
"redirect_uris": [
+
"https://atpairport.com/api/oauth/callback"
+
],
+
"scope": "atproto transition:generic transition:chat.bsky",
+
"grant_types": [
+
"authorization_code",
+
"refresh_token"
+
],
+
"response_types": [
+
"code"
+
],
+
"application_type": "web",
+
"token_endpoint_auth_method": "none",
+
"dpop_bound_access_tokens": true
+
}