{"repo":"gary-archer/oauth.websample1","free":true,"listed":false,"github":"https://github.com/gary-archer/oauth.websample1","clone":"git clone https://github.com/gary-archer/oauth.websample1.git","description":"Initial SPA and API Code Sample, using OAuth and OpenID Connect","language":"TypeScript","stars":21,"topics":["api","oauth2","spa","typescript"],"license":"MIT","category":"auth-billing-email","readme_excerpt":"Initial OAuth SPA and API Code Sample Overview An introductory standards-based SPA and API code sample, to get integrated with OAuth endpoints: - The SPA uses the code flow with PKCE. - The SPA interacts with an API that validates JWTs and uses claims-based authorization. Views The SPA is a simple UI with some basic navigation between views, to render fictional investment resources. Local Development Quick Start To run the code sample locally you must configure some infrastructure before you run the code. Configure DNS and SSL Configure custom development domains by adding these DNS entries to your hosts file: Install OpenSSL 3+ if required, create a secrets folder, then create development certificates: Finally, configure Browser SSL Trust for the SSL root certificate at this location: Run the Code Ensure that Node.js 24+ is installed, then build and run the SPA and API: The system browser runs and you can sign in with my AWS test credentials: - User: guestuser@example.com - Password: GuestPassword1 Further Information See the Sample 1 Overview for a summary of behaviour. See the Sample 1 Details for further details on running the code. Programming Languages The SPA and its views use plain TypeScript code. The API uses Node.js and TypeScript. Infrastructure Express is used as the HTTP server for the secured API and to serve the SPA's static content. The SPA uses the oidc-client-ts library to implement OAuth and OpenID Connect. The API uses the jose library to validate JWT acc","default_branch":null,"files":null,"tree":[],"storefront":"/r/gary-archer","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/gary-archer/oauth.websample1/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}