@startupjs/2fa-manager v0.55.8
2fa-manager
Component for using various two-factor authentication methods.
Installation
yarn add @startupjs/2fa-managerConnecting to startupjs
server
Add the following lines to server/index.js:
import { initTwoFAManager } from '@startupjs/2fa-manager/server'Add function to startupjsServer:
initTwoFAManager(ee, {
providers: [YOUR_PROVIDER1, YOUR_PROVIDER2]
})Creating custom providers
You can create your own providers using the Provider class from @startupjs/2fa-manager/Provider.
Class Provider(name, send, check) where:
name- string, provider name.send()- function of sending a message with a code.check(code)- function for checking the validity of the code.code- the code to check.
Example
import { Provider } from '@startupjs/2fa-manager/Provider'
function init (ee, options) {
return null
}
function send () {
console.log('test code')
}
function check (token) {
if (token === 'test code') {
console.log('Right code')
} else {
console.log('Wrong code')
}
}
export default new Provider('testProvider', init, send, check)Now this Provider can be registered with initTwoFaManager and used by the name testProvider.
API
server
initTwoFaManager(ee, options)
ee- eventEmitter of server.options- options object. Contains a list of providers:providers- array of providers.
TwoFAManager
Singleton class that contains the following methods:
send(model, session, providerName)- calls thesendmethod of the providerproviderName.check(model, session, token, providerName)- calls thecheckmethod of the providerproviderName.getProviders()- returns an array of the names of the registered providers.
client
ProvidersList2fa(providers, chooseProvider)
Component for displaying a list of registered providers. Accepts the following props:
providers- array of provider nameschooseProvider- function, returns the name of the selected provider
12 months ago
12 months ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago