2.2.3 • Published 4 days ago

@semic/plugin-email-code v2.2.3

Weekly downloads
-
License
MIT
Repository
-
Last release
4 days ago

@plugin/auth-email-code

A Vendure plugin allow users log in using email and verification code

Use Case

A lot of times we want visitors (aka customers) to complete their purchase order as quick as possilble. However, they usually hesitate to create a credential to a random online shop at checkout step. So we provide a way to quickly authenticate those visitors by their email and a verification code that is sent to their email.

What it does

  1. Expose a GraphQL Query "requestOneTimeCode".
  2. Add an authentication strategy to GraphQL mutation "authenticate".

How to use

1. Install

yarn add @semic/plugin-auth-email-code

or

npm i --save @semic/plugin-auth-email-code

2. Add the plugin to vendure-config.ts file

import { SemicAuthEmailCodePlugin } from "@semic/plugin-auth-email-code";
...
export const config: VendureConfig  = {
 ...
 plugins: [
   ...
   SemicAuthEmailCodePlugin.init(options) //see Options
 ]
}

3. Options for SemicAuthEmailCodePlugin.init

  • attempts: number

    Plugin will invalidate the verification code after user's attempts.
    default: 5

  • ttl: number

    Time to live
    How long the verification code is valid for.
    default: 600 (seconds)

  • length: number

    How many digits/alphabets the verification code should be.
    default: 6

  • includeAlphabet: boolean

    Should allow alphabet characters.
    default: false (aka digits only)

  • isDev: boolean

    If true, the verification will return along with the response of query. requestOneTimeCode.
    It's for debug and testing.
    default: false

  • checkCrossStrategies: boolean

    Strictly enforce unique email among all strategies

    For example:

    • One day, user "John" sign in using Google authentication with "john@gmail.com".
    • Another day, user "John" sign in using One-time passcode authenication (this plugin) with the same email.
    • This plugin will throw an error if the flag is enabled.

    default: false.
    Note: This only works if Google authentication plugin using email as an identifier

Future Updates

  • Prevent cross authenticate (Ex: users use same email for GoogleAuth and SimpleAuth)
2.2.3

4 days ago

2.2.2

4 days ago

2.2.1

13 days ago

2.2.0

21 days ago

2.1.16

1 month ago

2.1.15

2 months ago

2.1.14

2 months ago

2.1.13

2 months ago

2.1.12

2 months ago

2.1.11

2 months ago

2.1.9

3 months ago

2.1.8

4 months ago

2.1.7

5 months ago

2.1.6

5 months ago

2.1.5

6 months ago

2.1.4

6 months ago

2.1.3

6 months ago

2.1.2

7 months ago

2.1.1

7 months ago

2.1.0

7 months ago

2.0.13

8 months ago

2.0.12

8 months ago

2.0.11

9 months ago

2.0.10

9 months ago

2.0.9

9 months ago

2.0.8

9 months ago

2.0.7

9 months ago

2.0.6

10 months ago

2.0.5

10 months ago

2.0.4

10 months ago

2.0.3

10 months ago

2.0.2

10 months ago

2.0.1

10 months ago

2.0.0

10 months ago