A plugin for Strapi Headless CMS that provides ability to sing-in/sing-up to an application by link had sent to email. A plugin works together with Strapi User Permissions Plugin and extends it functionality. For working with emails a plugin use Strapi Email Plugin.
Install Strapi with this Quickstart command to create a Strapi project instantly:
- (Use yarn to install the Strapi project (recommended). Install yarn with these docs.)
# with yarn
yarn create strapi-app my-project --quickstart
# with npm/npx
npx create-strapi-app my-project --quickstart
This command generates a brand new project with the default features (authentication, permissions, content management, content type builder & file upload). The Quickstart command installs Strapi using a SQLite database which is used for prototyping in development.
-
Configure the
Strapi email
plugin ( official documentation ) -
Add the
strapi-plugin-passwordless
plugin
yarn add strapi-plugin-passwordless@latest
# or
npm i -S strapi-plugin-passwordless@latest
- After successful installation you've to build a fresh package that includes plugin UI. To archive that simply use:
yarn build && yarn develop
# or
npm run build && npm run develop
- or just run Strapi in the development mode with
--watch-admin
option:
yarn develop --watch-admin
#or
npm run develop --watch-admin
The Passwordless Login plugin should appear in the Plugins section of Strapi sidebar after you run app again.
Before using the services make a sure that endpoints open for unauthorized users.
POST /passwordless/send-link
{"email": "user@email.com"}
GET /passwordless/login?loginToken={tokenFromEmail}
Response:
{
"jwt": "...jwt auth token..."
"user": {
...strapi user...
}
}
sendLoginLink(email: String): PasswordlessSendLinkPayload!
loginPasswordless(loginToken: String): PasswordlessLoginPayload!
strapi-plugin-passwordless@3.x
- version for strapi v3strapi-plugin-passwordless@4.x
- version for strapi v4 (not ready yet, WIP)
Feel free to fork and make a Pull Request to this plugin project. All the input is warmly welcome!
Give a star if this project helped you.
MIT License Copyright (c) Andrey Kucherenko.