3.2.18 • Published 1 year ago

@liveart/auth v3.2.18

Weekly downloads
-
License
ISC
Repository
gitlab
Last release
1 year ago

Liveart Stytch authentication

Liveart authentication package for Stytch implementation.

Installation

Use the npm package manager to install the package into the project.

npm install @liveart/auth

Initialization

Mobile

Run init function to initialize the the workplace (reducer, token storage etc).

import { init } from '@liveart/auth';
import * as Keychain from 'react-native-keychain';
import { store } from './store';

...

init({
  dispatch: store.dispatch,
  storage: Keychain,
  userServiceAddress: 'https://user-dev.liveart.ai',
})

WEB

Run init function to initialize the the workplace (reducer, token storage etc).

import { init } from '@liveart/auth';
import { store } from './store';

...

init({
  dispatch: store.dispatch,
  storage: localStorage,
  userServiceAddress: 'https://user-dev.liveart.ai',
})

Attach reducer and configure saga middleware

Reducer

Attach reducer to your store

import { stytchReducer } from '@liveart/auth';
import { combineReducers } from '@reduxjs/toolkit';

...

const rootReducer = combineReducers({
  ...
  stytch: stytchReducer,
  ...
});

Saga middleware

Attach saga to the saga middleware

import { stytchSaga, stytchSignOut } from '@liveart/auth';
import createSagaMiddleware from 'redux-saga';

...

const sagaMiddleware = createSagaMiddleware()
sagaMiddleware.run(function* () {
  yield all([
    ...
    stytchSaga(),
    ...
  ]);
});

Configure Store

Configure Redux store

import { configureStore } from '@reduxjs/toolkit';

...

const store = configureStore({
  ...
  middleware: (getDefaultMiddleware) => {
    return getDefaultMiddleware({
      serializableCheck: {
        ignoredActions: [getSoldArtworksByArtistId.toString()],
      },
    }).concat(sagaMiddleware);
  },
  ...
});

Usage/Examples

Current step

import { StytchStep, stytchStepSelector } from '@liveart/auth';

const stytchStep = useSelector(stytchStepSelector);

Email sign Up

import {
  StytchStep,
  stytchStepSelector,
  stytchEmailSignUp,
} from '@liveart/auth';

dispatch(
  stytchEmailSignUp({
    email: '<EMAIL@TEST.COM>',
    name: {
      firstName: '<FIRST_NAME>',
      lastName: '<LAST_NAME>',
    },
    enableNewsletter: true,
    termsAccepted: true,
  }),
);

Email exchange code

Exchange the core (which is received via email) for the accessToken

import { stytchStepSelector } from '@liveart/auth';

dispatch(
  stytchEmailExchangeCode({
    code: '<CODE>',
    enableNewsletter: true,
    termsAccepted: true,
  }),
);

Apollo client

Create apollo client with the following configs

import { createApolloAuthenticationLink } from '@liveart/auth';

const client = new ApolloClient({
  uri: '<APOLLO URI>',
  link: createApolloAuthenticationLink(uri),
});
3.2.18

1 year ago

3.2.17

1 year ago

3.2.16

1 year ago

3.2.15

1 year ago

3.2.13

1 year ago

3.2.12

1 year ago

3.2.14

1 year ago

3.2.11

1 year ago

3.2.10

1 year ago

3.2.9

2 years ago

3.2.8

2 years ago

3.2.7

2 years ago

3.2.6

2 years ago

2.2.3

2 years ago

2.2.2

2 years ago

2.2.5

2 years ago

2.2.4

2 years ago

3.2.2

2 years ago

3.2.1

2 years ago

3.2.0

2 years ago

3.2.5

2 years ago

3.2.4

2 years ago

3.2.3

2 years ago

3.0.0

2 years ago

3.1.0

2 years ago

2.2.1

2 years ago

2.2.0

2 years ago

2.0.11

3 years ago

2.0.12

3 years ago

2.0.9

3 years ago

2.0.10

3 years ago

2.0.8

3 years ago

2.1.0

2 years ago

2.0.3

3 years ago

2.0.2

3 years ago

2.0.4

3 years ago

2.0.7

3 years ago

2.0.6

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

1.0.26

3 years ago

1.0.25

3 years ago

1.0.24

3 years ago

1.0.28

3 years ago

1.0.27

3 years ago

1.0.33

3 years ago

1.0.32

3 years ago

1.0.31

3 years ago

1.0.30

3 years ago

1.0.35

3 years ago

1.0.34

3 years ago

1.0.23

3 years ago

1.0.22

3 years ago

1.0.21

3 years ago

1.0.20

3 years ago

1.0.19

3 years ago

1.0.18

3 years ago

1.0.17

3 years ago

1.0.16

3 years ago

1.0.15

3 years ago

1.0.14

3 years ago

1.0.13

3 years ago

1.0.12

3 years ago

1.0.11

3 years ago

1.0.10

3 years ago

1.0.9

3 years ago

1.0.8

3 years ago

1.0.7

3 years ago