From ac4f5dac822b3e62588b90e6664588c5c9dfc61a Mon Sep 17 00:00:00 2001 From: Essential Randomness Date: Thu, 30 May 2024 17:36:28 -0700 Subject: [PATCH 1/8] vague attempt at open badge --- src/pages/open-badges/seed-campaign/index.ts | 44 ++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 src/pages/open-badges/seed-campaign/index.ts diff --git a/src/pages/open-badges/seed-campaign/index.ts b/src/pages/open-badges/seed-campaign/index.ts new file mode 100644 index 0000000..1609016 --- /dev/null +++ b/src/pages/open-badges/seed-campaign/index.ts @@ -0,0 +1,44 @@ +const encodedData = { + "@context": "https://w3id.org/openbadges/v2", + // id: "https://fujocoded.com/open-badges/seed-campaign", + // id: "https://api.badgr.io/public/assertions/2sfG9ftoTbu8l6rgHyey0g", + id: "https://fujocoded.com/open-badges/seed-campaign", + type: "Assertion", + recipient: { + type: "email", + hashed: true, + identity: + "sha256$be623547771d96c7232770570d8de894f26c3e9938acdc2b49252b018064ac05", + salt: "ab01f2bfe4a14832956a91ef8cacf064", + }, + issuedOn: new Date(Date.now()).toISOString(), + verification: { + type: "hosted", + }, + badge: { + type: "BadgeClass", + id: "https://fujocoded.com/open-badges/badges/seed-campaign.json", + name: "FujoCoded LLC Seed Campaign", + description: "This person donated to the FujoCoded LLC Seed Campaign", + image: "https://fujocoded.com/open-badges/badges/seed-campaign/image", + criteria: { + narrative: "this person gave us money", + }, + issuer: { + id: "https://fujocoded.com/", + type: "Profile", + name: "FujoCoded LLC", + url: "https://fujocoded.com/", + email: "contacts@fujocoded.com", + verification: { + allowedOrigins: "fujocoded.com", + }, + }, + }, +}; + +export async function GET() { + return new Response(JSON.stringify(encodedData), { + headers: { "Content-Type": "application/ld+json;charset=UTF-8" }, + }); +} From 69891f508f432bccc67dcee993c8f5dac2362dce Mon Sep 17 00:00:00 2001 From: Essential Randomness Date: Thu, 30 May 2024 17:40:13 -0700 Subject: [PATCH 2/8] vercel address --- src/pages/open-badges/seed-campaign/index.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/pages/open-badges/seed-campaign/index.ts b/src/pages/open-badges/seed-campaign/index.ts index 1609016..e29e771 100644 --- a/src/pages/open-badges/seed-campaign/index.ts +++ b/src/pages/open-badges/seed-campaign/index.ts @@ -2,7 +2,7 @@ const encodedData = { "@context": "https://w3id.org/openbadges/v2", // id: "https://fujocoded.com/open-badges/seed-campaign", // id: "https://api.badgr.io/public/assertions/2sfG9ftoTbu8l6rgHyey0g", - id: "https://fujocoded.com/open-badges/seed-campaign", + id: "https://fujocoded-git-open-badge-fujowebdev.vercel.app/open-badges/seed-campaign", type: "Assertion", recipient: { type: "email", @@ -17,10 +17,11 @@ const encodedData = { }, badge: { type: "BadgeClass", - id: "https://fujocoded.com/open-badges/badges/seed-campaign.json", + id: "https://fujocoded-git-open-badge-fujowebdev.vercel.app/open-badges/badges/seed-campaign.json", name: "FujoCoded LLC Seed Campaign", description: "This person donated to the FujoCoded LLC Seed Campaign", - image: "https://fujocoded.com/open-badges/badges/seed-campaign/image", + image: + "https://fujocoded-git-open-badge-fujowebdev.vercel.app/open-badges/badges/seed-campaign/image", criteria: { narrative: "this person gave us money", }, From 8ca14567746e41e67713ecfbf9403ee877a8e25b Mon Sep 17 00:00:00 2001 From: Essential Randomness Date: Thu, 30 May 2024 17:51:36 -0700 Subject: [PATCH 3/8] add other endpoints --- .../badges/seed-campaign/badge.png | Bin 0 -> 1125 bytes .../open-badges/seed-campaign/badge.json.ts | 27 ++++++++++++++++++ src/pages/open-badges/seed-campaign/index.ts | 4 +-- 3 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 src/pages/open-badges/badges/seed-campaign/badge.png create mode 100644 src/pages/open-badges/seed-campaign/badge.json.ts diff --git a/src/pages/open-badges/badges/seed-campaign/badge.png b/src/pages/open-badges/badges/seed-campaign/badge.png new file mode 100644 index 0000000000000000000000000000000000000000..64068ab4c47f32c63f12f6add91f31b74688aca1 GIT binary patch literal 1125 zcmV-r1e*JaP)N4zQJWKjf5LGAz2dOY z`ULU76e+H@u!x0NT&;*$oPo&w31V>wet;pZRabUtpEVBlbfO9+Hn;|3uB(P3#{V+^G0D?#dTyS zH-(5{;xZ&`J+-Qh1rfSy0=J@_t`19SXI%&zyWDUaCvJfA5dclmOFQe$$2c0+Ty+F6Hf%DoEtg*^0=YR3_1Q z%qDKd`H1UU0M*egZ;ZLwmT&@3-1z_g5rX7f(TCjIaBlU!2u$1{@q4*>P($46=oVs^ z8`dsX=U~&F(uo=3?skH}j#c0ayWG51c5NQfEznPL9dsp60rKjBV$?=I`RwGTr_5sn zuk+)rFBTEiCen*nRwvM{eNC$dImTTnJ2YtBNFxOZmoibS z_eB8A!HQ*^3a!8w+ha&iJ^0F=xP{2AmS3INd_=(`E=_pnBS?fyfmV~8Pux?-+QF@u z!(PwD%`W7{#09`Jp$XXPf+j?pwXoK~lon)hd&S|}ktl!sHWRpRjXa@E%r?^oiENpF z0m~F&!ZuYz;c)FpDU#f#tLyr6vJ3gfat#1mvH{JsQBSP`wSu*Kfsk9}^wdLh0&JAK zAu^#8&PGTRBr?FBMbrvnLLH;=Z-ejgV3($+L528=~fi3xNo)nrHbJ|>DMj{pG2xrXChW9HpgU%Xx`pk6DWdS49n{NTCJ(!qQe$J52dsbfqZnPf$j z=?w=74?wuvajsi_N!1cep6FDcypL`i-7&g8K~V}UwuJ+;0Giuk?o^NPQi{kVE6UeK zB>HhB=@E8%bV>V~3Gj;w*sT~^9k07tayiIyPeuqV+!en;0lyuU3`CQBi3CRxF8C5d`tmy#IBxq%3eASu^!N@uyY zJW>Q&i_8Vl32l2G>KEF)s%!axIY~ydT<(tLwPt%T6k`x_J{nF968x#NwkGQ&b9m; ruLb2QqFn;KCLwji0oTg^=?s4XcpOl3AE2kd00000NkvXXu0mjf<)jg7 literal 0 HcmV?d00001 diff --git a/src/pages/open-badges/seed-campaign/badge.json.ts b/src/pages/open-badges/seed-campaign/badge.json.ts new file mode 100644 index 0000000..9467f4d --- /dev/null +++ b/src/pages/open-badges/seed-campaign/badge.json.ts @@ -0,0 +1,27 @@ +const encodedData = { + type: "BadgeClass", + id: "https://fujocoded.com/open-badges/badges/seed-campaign.json", + name: "FujoCoded LLC Seed Campaign", + description: "This person donated to the FujoCoded LLC Seed Campaign", + image: + "https://fujocoded-git-open-badge-fujowebdev.vercel.app/open-badges/badges/seed-campaign/image", + criteria: { + narrative: "this person gave us money", + }, + issuer: { + id: "https://fujocoded.com/", + type: "Profile", + name: "FujoCoded LLC", + url: "https://fujocoded.com/", + email: "contacts@fujocoded.com", + verification: { + allowedOrigins: "fujocoded-git-open-badge-fujowebdev.vercel.app", + }, + }, +}; + +export async function GET() { + return new Response(JSON.stringify(encodedData), { + headers: { "Content-Type": "application/ld+json;charset=UTF-8" }, + }); +} diff --git a/src/pages/open-badges/seed-campaign/index.ts b/src/pages/open-badges/seed-campaign/index.ts index e29e771..8f2a06d 100644 --- a/src/pages/open-badges/seed-campaign/index.ts +++ b/src/pages/open-badges/seed-campaign/index.ts @@ -17,11 +17,11 @@ const encodedData = { }, badge: { type: "BadgeClass", - id: "https://fujocoded-git-open-badge-fujowebdev.vercel.app/open-badges/badges/seed-campaign.json", + id: "https://fujocoded-git-open-badge-fujowebdev.vercel.app/open-badges/badges/seed-campaign/badge.json", name: "FujoCoded LLC Seed Campaign", description: "This person donated to the FujoCoded LLC Seed Campaign", image: - "https://fujocoded-git-open-badge-fujowebdev.vercel.app/open-badges/badges/seed-campaign/image", + "https://fujocoded-git-open-badge-fujowebdev.vercel.app/open-badges/badges/seed-campaign/badge.png", criteria: { narrative: "this person gave us money", }, From 0e84af46a56af18eee4c9d8213c48edaec5e7df0 Mon Sep 17 00:00:00 2001 From: Essential Randomness Date: Thu, 30 May 2024 17:55:50 -0700 Subject: [PATCH 4/8] move badge to right place --- .../open-badges/badges/seed-campaign/badge.png | Bin .../{ => badges}/seed-campaign/badge.json.ts | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename {src/pages => public}/open-badges/badges/seed-campaign/badge.png (100%) rename src/pages/open-badges/{ => badges}/seed-campaign/badge.json.ts (91%) diff --git a/src/pages/open-badges/badges/seed-campaign/badge.png b/public/open-badges/badges/seed-campaign/badge.png similarity index 100% rename from src/pages/open-badges/badges/seed-campaign/badge.png rename to public/open-badges/badges/seed-campaign/badge.png diff --git a/src/pages/open-badges/seed-campaign/badge.json.ts b/src/pages/open-badges/badges/seed-campaign/badge.json.ts similarity index 91% rename from src/pages/open-badges/seed-campaign/badge.json.ts rename to src/pages/open-badges/badges/seed-campaign/badge.json.ts index 9467f4d..da43210 100644 --- a/src/pages/open-badges/seed-campaign/badge.json.ts +++ b/src/pages/open-badges/badges/seed-campaign/badge.json.ts @@ -1,6 +1,6 @@ const encodedData = { type: "BadgeClass", - id: "https://fujocoded.com/open-badges/badges/seed-campaign.json", + id: "https://fujocoded.com/open-badges/badges/seed-campaign/badge.json", name: "FujoCoded LLC Seed Campaign", description: "This person donated to the FujoCoded LLC Seed Campaign", image: From 0e54fd946029771f59aa2a30a944ffdce3982639 Mon Sep 17 00:00:00 2001 From: Essential Randomness Date: Thu, 30 May 2024 17:58:01 -0700 Subject: [PATCH 5/8] correct image --- src/pages/open-badges/badges/seed-campaign/badge.json.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/open-badges/badges/seed-campaign/badge.json.ts b/src/pages/open-badges/badges/seed-campaign/badge.json.ts index da43210..0c283af 100644 --- a/src/pages/open-badges/badges/seed-campaign/badge.json.ts +++ b/src/pages/open-badges/badges/seed-campaign/badge.json.ts @@ -4,7 +4,7 @@ const encodedData = { name: "FujoCoded LLC Seed Campaign", description: "This person donated to the FujoCoded LLC Seed Campaign", image: - "https://fujocoded-git-open-badge-fujowebdev.vercel.app/open-badges/badges/seed-campaign/image", + "https://fujocoded-git-open-badge-fujowebdev.vercel.app/open-badges/badges/seed-campaign/badge.png", criteria: { narrative: "this person gave us money", }, From 503779444358e0eba636b9e75df1c47cbacdd5d6 Mon Sep 17 00:00:00 2001 From: Essential Randomness Date: Thu, 30 May 2024 18:02:14 -0700 Subject: [PATCH 6/8] add issuer --- .../badges/seed-campaign/badge.json.ts | 2 +- src/pages/open-badges/issuer.json.ts | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 src/pages/open-badges/issuer.json.ts diff --git a/src/pages/open-badges/badges/seed-campaign/badge.json.ts b/src/pages/open-badges/badges/seed-campaign/badge.json.ts index 0c283af..3f712fc 100644 --- a/src/pages/open-badges/badges/seed-campaign/badge.json.ts +++ b/src/pages/open-badges/badges/seed-campaign/badge.json.ts @@ -9,7 +9,7 @@ const encodedData = { narrative: "this person gave us money", }, issuer: { - id: "https://fujocoded.com/", + id: "https://fujocoded-git-open-badge-fujowebdev.vercel.app/open-badges/issuer.json", type: "Profile", name: "FujoCoded LLC", url: "https://fujocoded.com/", diff --git a/src/pages/open-badges/issuer.json.ts b/src/pages/open-badges/issuer.json.ts new file mode 100644 index 0000000..8ac4d63 --- /dev/null +++ b/src/pages/open-badges/issuer.json.ts @@ -0,0 +1,16 @@ +const encodedData = { + id: "https://fujocoded.com/", + type: "Profile", + name: "FujoCoded LLC", + url: "https://fujocoded.com/", + email: "contacts@fujocoded.com", + verification: { + allowedOrigins: "fujocoded-git-open-badge-fujowebdev.vercel.app", + }, +}; + +export async function GET() { + return new Response(JSON.stringify(encodedData), { + headers: { "Content-Type": "application/ld+json;charset=UTF-8" }, + }); +} From 25766b70334b6b178b0e05137672679d2565c38b Mon Sep 17 00:00:00 2001 From: Essential Randomness Date: Thu, 30 May 2024 18:10:33 -0700 Subject: [PATCH 7/8] add public keyu --- .gitignore | 2 ++ src/pages/open-badges/issuer.json.ts | 2 ++ src/pages/open-badges/publicKey.json.ts | 14 ++++++++++++++ 3 files changed, 18 insertions(+) create mode 100644 src/pages/open-badges/publicKey.json.ts diff --git a/.gitignore b/.gitignore index 7bbb517..3c11355 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,8 @@ npm-debug.log* yarn-debug.log* yarn-error.log* pnpm-debug.log* +open-badge +open-badge.pub # environment variables diff --git a/src/pages/open-badges/issuer.json.ts b/src/pages/open-badges/issuer.json.ts index 8ac4d63..fee15c5 100644 --- a/src/pages/open-badges/issuer.json.ts +++ b/src/pages/open-badges/issuer.json.ts @@ -4,6 +4,8 @@ const encodedData = { name: "FujoCoded LLC", url: "https://fujocoded.com/", email: "contacts@fujocoded.com", + publicKey: + "https://fujocoded-git-open-badge-fujowebdev.vercel.app/open-badges/publicKey.json", verification: { allowedOrigins: "fujocoded-git-open-badge-fujowebdev.vercel.app", }, diff --git a/src/pages/open-badges/publicKey.json.ts b/src/pages/open-badges/publicKey.json.ts new file mode 100644 index 0000000..10d73d8 --- /dev/null +++ b/src/pages/open-badges/publicKey.json.ts @@ -0,0 +1,14 @@ +const encodedData = { + "@context": "https://w3id.org/openbadges/v2", + type: "CryptographicKey", + id: "https://fujocoded-git-open-badge-fujowebdev.vercel.app/open-badges/publicKey.json", + owner: + "https://fujocoded-git-open-badge-fujowebdev.vercel.app/open-badges/issuer.json", + publicKeyPem: + "-----BEGIN PUBLIC KEY-----\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDX5FGhBULGZ7i9fytUY6MIYjh8AU+Z09+9w91wb7Oi2yG0EsDrGvCPg4IUWXitUU4RG7MSvyF+SJKM5YEcidEUJ9O+YWlwubXFBZo4xZlxfb06tTMti6dOo0jwEqqCmXQeas6jsxJ8JT9/K0UDUxTSj06wzcRZdWbNW5eenwXUCZWo1p743uBJgg9IsdKapv4tUtNqS6czYfTHRwTRR91L9GfmO1/sUiUTa50GWK4nMEyYZKF3VgW6VT3BvGZn53Vr2vW7iBRJ7ZicHSu+/Nj8CB+oeZ3b70Xf/kIpLxmi8EFNR19kv57B3+s+L3c6DFEJmDjWmJy9diP+Vly1rYvnkl6Re4DCHhlhW/Y2xNiiYo3ZnaZxCt7lonGqM5AMTya3tNJr/y2mtZbrucf59ZEbak3oEu2b4unru2P5LwgAE3LkNPvj9oEzPUmP5PKmQhkz87IuM5SbyRu6O9yQ/NZiuduF9pC7hwVDjqQ0iDRQt4MM1F6XOG7YvRcBkmzR1DM=\n-----END PUBLIC KEY-----\n", +}; +export async function GET() { + return new Response(JSON.stringify(encodedData), { + headers: { "Content-Type": "application/ld+json;charset=UTF-8" }, + }); +} From 22c9dd1cddc773b89db51d665c52437db57759e1 Mon Sep 17 00:00:00 2001 From: Essential Randomness Date: Thu, 13 Jun 2024 16:04:33 -0700 Subject: [PATCH 8/8] update badge --- src/pages/open-badges/seed-campaign/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/open-badges/seed-campaign/index.ts b/src/pages/open-badges/seed-campaign/index.ts index 8f2a06d..f0a414c 100644 --- a/src/pages/open-badges/seed-campaign/index.ts +++ b/src/pages/open-badges/seed-campaign/index.ts @@ -8,7 +8,7 @@ const encodedData = { type: "email", hashed: true, identity: - "sha256$be623547771d96c7232770570d8de894f26c3e9938acdc2b49252b018064ac05", + "sha256$ed452930e18c9916b8beee4aa0e1ae6b87f1a2cd56559ad77badf00309dc5aeb", salt: "ab01f2bfe4a14832956a91ef8cacf064", }, issuedOn: new Date(Date.now()).toISOString(),