You’re the sole engineer for PrincipalStack, an online publication for new developers. Previously, PrincipalStack only accepted internal submissions, but its cofounder would like to improve user engagement by inviting every community member to register, log in, and post comments. Your task is to enable sharing of user identities between the web application and post creation system built as a standalone single-page application (SPA). Using tools including Node.js, HTML, and npm, you’ll build an authorization server, implement authorization using OpenID Connect, build an OAuth2-Protected API, and enable your internal team to work in both the newly built community-engaging SPA and the main application—all with the same identity. Once you’ve finished this series of liveProjects, you’ll have valuable hands-on experience with authentication, authorization, Single Sign-On between applications, defining and using scopes and permissions, validating JWTs, and other federation essentials.
This was a great work and I would like to give my congratulations to the author.
After six years of accepting only internal submissions, PrincipalStack’s cofounder would like to invite all community members to register, log in, and post comments. As the sole engineer for the publication, your task is to build the foundation for this entire system: the authorization server. Using Express on Node.js, you’ll install, configure, and test an OpenID Connect-capable authorization server. You’ll build the pages that let users create their profile, prove their identity, and end their session. You’ll also foster community participation by allowing users to log in with an email address—and without a password.
You’re the sole engineer for PrincipalStack, an online publication focused on teaching software engineering the right way. As part of the company’s efforts to engage new users, your job is to connect the newly built OpenID Connect server with the main web application. Using Node.js, you’ll register the new web application with the authorization server, install and configure an OpenID Connect library, implement login authorization with OAuth 2.0, and integrate the new OpenID Connect authentication with an existing set of users.
Improve developer engagement in PrincipalStack, an online publication of software development content. As its sole software engineer, your task is to create an API to expose the posting functionality of the Node.js web application. You’ll build a simple CRUD (create, read, update, delete) API and protect it with JWT-formatted access tokens issued by the authorization server, while maintaining the association between the content managed by the API and the original user who created it. When you’re done, you’ll have provided an interface for all external contributors, enhancing their user experience.
I did learn what I was hoping to learn and I’ll certainly apply the knowledge in some of my upcoming projects.
In this liveProject series, you’ll build an OIDC-capable authorization server, implement login using OpenID Connect, build an OAuth2-protected API, and modify a SPA so that it can request, store, and use access tokens to call an API.
geekle is based on a wordle clone.