If you’re creating a website that is non-trivial odds are you’ll want a way to help keep tabs on users. This is often quite complex and need a deal that is g d of, but one of the most protected and scalable ways can be among the easiest. Using an OAuth 2.0 provider enables you to offload these tasks to a provider that is external making your lifetime as a designer a great deal simpler.
When working with an OAuth provider, it’s easy to register and maintain users securely, but usually the information that is only have about your users is the name and email. This renders you having to keep a database that is separate of regarding the users, but is not that part of everything you had been wanting to avoid?
Luckily, there’s a better way! Using Okta, you can not only connect users to your software, you’ll be able to store just as much additional metadata as you’d like regarding the users. Just What site have actually you logged into recently that doesn’t give you the option of changing your profile information (name, date of delivery, avatar, etc.)? There aren’t many today.
On this page, I’ll show you how exactly to produce an software in Node that provides a dashboard for the users and gives them the ability to modify their profile information, all without ever starting a database.
What exactly is Okta?
Okta is a service that is flexible makes it super easy for designers in order to connect users to any or all forms of apps. Okta handles login, logout, registration, multi-factor verification, also as saving user information. You also obtain an amazing admin experience that lets you get up and operating ina moment but can still be configured to your heart’s desire! From the designer console, you can disable users, create groups of users, edit individual pages, create admin tokens, require certain elements of users to make use of multi-factor verification, and a whole lot.
I’ll be walking you through the settings that are few have to get were only available in Okta, as well as the code you’ll need to get a Node application installed and operating. In the event that you don’t curently have an Okta account, the first step would be to subscribe to a forever-free developer account. Once an account is had by you you’ll get a company URL ( e.g. https //
Create an easy Node Application with Express
The sole necessity to after this guide is node (I’ll also assume git because it is the best thing since sliced bread. I would recommend it for almost everything if you’re just following along for fun or use something else for source control)– I even keep my taxes in source control… but feel free to ignore that. To keep things easy I’ll assume you have a *nix environment (Linux, MacOS, Bash in Windows). Also, I adore modern JavaScript syntax, which I’ll be using later in the post, so if you’re maybe not already operating at least Node 8 ( node –version ), it is possible to run the next script to put in nvm (Node variation Manager) and then install the newest version of Node. There are methods to utilize javaScript that is modern a mature Node motor, however it requires some additional create steps.
One of many advantages of open supply rule is you don’t have to write sets from scratch. I’ve currently written a starter app included in another article, so we could continue where that left off by cloning the associated repository. Building off the existing application will enable you to concentrate on user management.
If none associated with the above works for you personally, you should use this url to down load the archive, then unzip it up to a folder.
Collect Environment Variables
The beginner application utilizes Okta for verification and requires a couple of environment variables before you can run it, which you’ll gather from your Okta Dashboard. I’ll likewise have you develop a brand new API token for fetching and user that is modifying. If you curently have the test app working ( e.g. you used along on the past post), then you can skip ahead to produce a new API token.
While you gather the variables, you’ll need certainly to save them in a file called .env , in the following format