{"repo":"gary-archer/oauth.websample2","free":true,"listed":false,"github":"https://github.com/gary-archer/oauth.websample2","clone":"git clone https://github.com/gary-archer/oauth.websample2.git","description":"Updated SPA and API Code Sample, using OAuth and OpenID Connect","language":"TypeScript","stars":23,"topics":["oauth2","spa","typescript","api"],"license":"MIT","category":"auth-billing-email","readme_excerpt":"Updated OAuth SPA and API Code Sample Overview An OAuth code sample to extend the initial code sample with the following behaviors: - The SPA uses the code flow with a complete application lifecycle. - The API combines claims-based authorization with finer-grained business permissions. - The SPA and API both use OAuth user attributes and business user attributes. 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 You can then test all lifecycle operations, including token refresh, multi tab browsing and logout. Further Information See the Updated SPA and API Code Sample blog post a walkthrough and the key technical points. 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 ","default_branch":null,"files":null,"tree":[],"storefront":"/r/gary-archer","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/gary-archer/oauth.websample2/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."}