Cotter's Magic Link authenticates your user using a link. It allows seamless, fast, and secure way for your user to login to your Web App. Follow this simple guide to see how it works!
To follow this guide, let's use our Hello World Template in CodeSandbox!
Copy the following script to the head section of your HTML page
<!-- 1️⃣ Get Cotter SDK --><scriptsrc="https://unpkg.com/cotter@0.3.17/dist/cotter.min.js"type="text/javascript"></script>
<!-- 2️⃣ Setup a div to contain the form --><div id="cotter-form-container" style="width: 300px; height: 300px;"></div>
Please note that id has to be cotter-form-container
for the form to show up.
You need your API_KEY_ID for this step. Create a developer account and create a Project to get your API keys. The API Keys will only be shown once!
Grab your API_KEY_ID
from the dashboard, then replace <YOUR_API_KEY_ID>
with your API_KEY_ID
.
<!-- 3️⃣ Show the form --><script>var cotter = new Cotter("<YOUR_API_KEY_ID>"); // 👈 Specify your API KEY ID herecotter.signInWithLink() // use .signInWithOTP() to send an OTP.showEmailForm() // use .showPhoneForm() to send magic link to a phone number.then(payload => {// Read what Cotter Returnsvar respDiv = document.getElementById("user-response");respDiv.innerHTML = `<pre>${JSON.stringify(payload, null, 4)}</pre>`;});</script>
🎉 You're done! Now that you know how it works on the client side, let's check out how to process Cotter's payload in your backend so you can start registering and logging in users in your backend server.
Here's a fully working example of the guide we went over.
To send code/link via SMS or WhatsApp, you'll need to add some balance to you project in the Dashboard.
You can customize the form from the Dashboard > Branding. You can also add Custom CSS.
Add Additional Fields like Name, Address, etc to the login form.
When the user successfully authenticated, send Cotter's response to your backend to either create a new user or log the user in. Learn how to send Cotter's response and verify it in your backend: