{"id":43918463,"url":"https://github.com/bjagg/clj-aws-login-poc","last_synced_at":"2026-02-06T22:04:43.654Z","repository":{"id":330207376,"uuid":"1120684326","full_name":"bjagg/clj-aws-login-poc","owner":"bjagg","description":"Proof of concept of using AWS Cognito and generated pages in ClojureScript app","archived":false,"fork":false,"pushed_at":"2025-12-24T09:07:50.000Z","size":163,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-25T11:31:12.773Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bjagg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-21T18:21:26.000Z","updated_at":"2025-12-24T09:07:53.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/bjagg/clj-aws-login-poc","commit_stats":null,"previous_names":["bjagg/clj-aws-login-poc"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/bjagg/clj-aws-login-poc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjagg%2Fclj-aws-login-poc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjagg%2Fclj-aws-login-poc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjagg%2Fclj-aws-login-poc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjagg%2Fclj-aws-login-poc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bjagg","download_url":"https://codeload.github.com/bjagg/clj-aws-login-poc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjagg%2Fclj-aws-login-poc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29178580,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-06T20:14:21.878Z","status":"ssl_error","status_checked_at":"2026-02-06T20:14:21.443Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-02-06T22:04:42.808Z","updated_at":"2026-02-06T22:04:43.649Z","avatar_url":"https://github.com/bjagg.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AWS Cognito Social Login (Google) — ClojureScript PoC\n\nThis repo is a **learning-focused** proof of concept for adding **social SSO** (Google)\nto a **static SPA** hosted on AWS, using:\n\n- **Cognito Hosted UI** + **OAuth 2.0**\n- **CloudFront + S3** static hosting\n- **Route53 + ACM** (DNS + TLS)\n- Two progressively more “real” front-end examples:\n  - a tiny vanilla JS smoke test\n  - a ClojureScript **re-frame** app (Polylith workspace)\n\n---\n\n## Recommended path\n\n- Start with smoke → smoke-pkce → polylith webapp-pkce\n\n---\n\n## Choose your path\n\n### 1) Smoke test (Implicit Flow) — quickest sanity check\n\nUse this first if you just want to confirm that DNS/ACM/CloudFront/Cognito are wired correctly.\n\n- Go to: `smoke/`\n- Run: `./scripts/check-prereqs.sh` then `./scripts/deploy.sh`\n- Upload the smoke files to the bucket (see the folder README)\n\n### 2) Smoke test (Authorization Code + PKCE) — best practice for SPAs\n\nThis is the recommended OAuth flow for browser-based apps.\n\n- Go to: `smoke-pkce/`\n- Run: `./scripts/check-prereqs.sh` then `./scripts/deploy.sh`\n- Configure `app.js` from `app.example.js` (see the folder README)\n\n### 3) Polylith re-frame app (PKCE) — the “real” ClojureScript example\n\nThis is the full ClojureScript implementation with reusable components.\n\n- Go to: `polylith/`\n- Start with: `polylith/README.md`\n\n---\n\n## Important note: don’t deploy both smoke variants to the same domain at once\n\nBoth `smoke/` and `smoke-pkce/` assume they own the same DNS + CloudFront alias + Cognito domain config by default.\n\nIf you switch between them, **destroy the previous stacks first** (instructions are in each README),\nor override `PROJECT_NAME`, `DOMAIN_NAME`, and `COGNITO_DOMAIN_PREFIX`.\n\n---\n\n## Repo layout\n\n- `smoke/` — implicit-flow smoke test + standalone infra/scripts\n- `smoke-pkce/` — PKCE smoke test + standalone infra/scripts\n- `polylith/` — Polylith workspace for the re-frame PKCE app\n\n---\n\n## Security\n\nDo not commit `app.js` files that contain your environment-specific values:\n\n- `smoke/app.js`\n- `smoke-pkce/app.js`\n\nEach folder includes `.gitignore` entries and guidance.\n\nSee `SECURITY.md` for additional notes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbjagg%2Fclj-aws-login-poc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbjagg%2Fclj-aws-login-poc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbjagg%2Fclj-aws-login-poc/lists"}