CLI login example built with Unkey
This template involves a deployed Next.js web app in examples/nextjs and a command-line script in /src/index.ts.. To run through the auth flow locally:
pnpm installat the root- Create a new terminal window and navigate to to
web pnpm installpnpm devto run the web appcd ..to navigate back to the rootpnpm dev loginto run the CLI script in dev mode- This will open the web app in your browser, where you can confirm or cancel the auth flow
- CLI spins up server on localhost
- CLI opens a page in the user's browser (/auth/devices) which is protected by an auth solution (Clerk, in this case)
- The user verifies that the code there matches the one shown in their terminal
- Upon verification, the Next.js app mints a new Unkey API key and sends it back to the local server
- The script writes the API key to a file and kills the server
See the diagram below:
npx @unkey/cli-demo login does the following:
- Opens a new browser window for your user to log in with your service
- If this is sucessful, queries Unkey for a new API key
- Stores the key locally in
.unkey
Vercel has a CLI for deploying web applications (as well as a their more frequently used web app)
If you want to deploy your frontend with their CLI, you:
- Run
vercel loginto log in to the web app and set a local credential in.vercel - Run
vercel deploywhich takes local files and uploads them to the Vercel CI/CD to be deployed.
This is a simplified example the kind of tool that you could build with this template.
