From 907fcd81208c07990f8a2b371abcda1814345d68 Mon Sep 17 00:00:00 2001 From: imnyang Date: Sat, 31 May 2025 15:02:27 +0900 Subject: [PATCH] Remove pkce --- .gitignore | 3 +- dist/plugin_package.zip | Bin 15658 -> 0 bytes playground/pkce/.gitignore | 34 -------------------- playground/pkce/README.md | 15 --------- playground/pkce/bun.lock | 25 -------------- playground/pkce/package.json | 10 ------ playground/pkce/src/PKCEDowngradeExpress.js | 31 ------------------ playground/pkce/tsconfig.json | 29 ----------------- 8 files changed, 2 insertions(+), 145 deletions(-) delete mode 100644 dist/plugin_package.zip delete mode 100644 playground/pkce/.gitignore delete mode 100644 playground/pkce/README.md delete mode 100644 playground/pkce/bun.lock delete mode 100644 playground/pkce/package.json delete mode 100644 playground/pkce/src/PKCEDowngradeExpress.js delete mode 100644 playground/pkce/tsconfig.json diff --git a/.gitignore b/.gitignore index 648628f..0d4515a 100644 --- a/.gitignore +++ b/.gitignore @@ -220,5 +220,6 @@ dist/* packages/frontend/dist packages/backend/dist #!dist/*.zip +dist/plugin_package.zip -# End of https://www.toptal.com/developers/gitignore/api/node,macos,windows,linux \ No newline at end of file +# End of https://www.toptal.com/developers/gitignore/api/node,macos,windows,linux diff --git a/dist/plugin_package.zip b/dist/plugin_package.zip deleted file mode 100644 index 28184677ccc0929e907d8d2e3ba3431c8285501f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15658 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 diff --git a/playground/pkce/.gitignore b/playground/pkce/.gitignore deleted file mode 100644 index a14702c..0000000 --- a/playground/pkce/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -# dependencies (bun install) -node_modules - -# output -out -dist -*.tgz - -# code coverage -coverage -*.lcov - -# logs -logs -_.log -report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json - -# dotenv environment variable files -.env -.env.development.local -.env.test.local -.env.production.local -.env.local - -# caches -.eslintcache -.cache -*.tsbuildinfo - -# IntelliJ based IDEs -.idea - -# Finder (MacOS) folder config -.DS_Store diff --git a/playground/pkce/README.md b/playground/pkce/README.md deleted file mode 100644 index 4a3109f..0000000 --- a/playground/pkce/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# playground - -To install dependencies: - -```bash -bun install -``` - -To run: - -```bash -bun run -``` - -This project was created using `bun init` in bun v1.2.14. [Bun](https://bun.sh) is a fast all-in-one JavaScript runtime. diff --git a/playground/pkce/bun.lock b/playground/pkce/bun.lock deleted file mode 100644 index 0a70737..0000000 --- a/playground/pkce/bun.lock +++ /dev/null @@ -1,25 +0,0 @@ -{ - "lockfileVersion": 1, - "workspaces": { - "": { - "name": "playground", - "devDependencies": { - "@types/bun": "latest", - }, - "peerDependencies": { - "typescript": "^5", - }, - }, - }, - "packages": { - "@types/bun": ["@types/bun@1.2.14", "", { "dependencies": { "bun-types": "1.2.14" } }, "sha512-VsFZKs8oKHzI7zwvECiAJ5oSorWndIWEVhfbYqZd4HI/45kzW7PN2Rr5biAzvGvRuNmYLSANY+H59ubHq8xw7Q=="], - - "@types/node": ["@types/node@22.15.21", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-EV/37Td6c+MgKAbkcLG6vqZ2zEYHD7bvSrzqqs2RIhbA6w3x+Dqz8MZM3sP6kGTeLrdoOgKZe+Xja7tUB2DNkQ=="], - - "bun-types": ["bun-types@1.2.14", "", { "dependencies": { "@types/node": "*" } }, "sha512-Kuh4Ub28ucMRWeiUUWMHsT9Wcbr4H3kLIO72RZZElSDxSu7vpetRvxIUDUaW6QtaIeixIpm7OXtNnZPf82EzwA=="], - - "typescript": ["typescript@5.8.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ=="], - - "undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="], - } -} diff --git a/playground/pkce/package.json b/playground/pkce/package.json deleted file mode 100644 index 0bbbfb8..0000000 --- a/playground/pkce/package.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "playground", - "private": true, - "devDependencies": { - "@types/bun": "latest" - }, - "peerDependencies": { - "typescript": "^5" - } -} diff --git a/playground/pkce/src/PKCEDowngradeExpress.js b/playground/pkce/src/PKCEDowngradeExpress.js deleted file mode 100644 index 61cf737..0000000 --- a/playground/pkce/src/PKCEDowngradeExpress.js +++ /dev/null @@ -1,31 +0,0 @@ -const express = require("express"); -const app = express(); - -app.get("/auth", (req, res) => { - const { - client_id, - response_type, - code_challenge, - code_challenge_method, - scope - } = req.query; - - console.log("Incoming request:", req.query); - - if (!client_id || response_type !== "code") { - return res.status(400).send("Missing required parameters"); - } - - // Simulate issuing an authorization code - const code = "dummy-auth-code"; - - // Simulate PKCE check (normally you'd validate here) - // We deliberately allow the downgrade here to simulate the vulnerability - const responseBody = `Authorization successful. code=${code}`; - return res.status(200).send(responseBody); -}); - -const PORT = 5050; -app.listen(PORT, () => { - console.log(`Test PKCE server running on http://localhost:${PORT}`); -}); diff --git a/playground/pkce/tsconfig.json b/playground/pkce/tsconfig.json deleted file mode 100644 index bfa0fea..0000000 --- a/playground/pkce/tsconfig.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "compilerOptions": { - // Environment setup & latest features - "lib": ["ESNext"], - "target": "ESNext", - "module": "Preserve", - "moduleDetection": "force", - "jsx": "react-jsx", - "allowJs": true, - - // Bundler mode - "moduleResolution": "bundler", - "allowImportingTsExtensions": true, - "verbatimModuleSyntax": true, - "noEmit": true, - - // Best practices - "strict": true, - "skipLibCheck": true, - "noFallthroughCasesInSwitch": true, - "noUncheckedIndexedAccess": true, - "noImplicitOverride": true, - - // Some stricter flags (disabled by default) - "noUnusedLocals": false, - "noUnusedParameters": false, - "noPropertyAccessFromIndexSignature": false - } -}