feat: add totp login API (#416)
* fix: * removed hasReversedValue in playground * feat: * added totp methods in db's providers * adding totp in login method * feat: * added toggle in dashboard * fixing issue with env set * feat: * integrated totp * feat: * encrypted userid * added totp_verified column in user table * started test for totp * feat: * test cases totp * test-cases: * completed test cases * tested for all dbs * fixes: * return variable to snake case * import refactoring * feat: * created seperate folder for authenticator with totp subfolder * refactored code * created new table for authenticators * added recovery code for totp * feat: * adding functions to different db providers * feat: * added authenticators method for all db * feat: * added logic for updating mfa in user_profile update * fix: * merge conflict * fix: * resolved mongodb, dynamodb and arangodb test case bug * added new condition for checking first time totp user or not * feat: * changes in all respective db with authenticator * fix: * PR suggested changes * fix(cassandra): list users * Update verify otp * fix totp login api --------- Co-authored-by: lemonScaletech <anand.panigrahi@scaletech.xyz>
This commit is contained in:
26
server/authenticators/totp_store.go
Normal file
26
server/authenticators/totp_store.go
Normal file
@@ -0,0 +1,26 @@
|
||||
package authenticators
|
||||
|
||||
import (
|
||||
"github.com/authorizerdev/authorizer/server/authenticators/providers"
|
||||
"github.com/authorizerdev/authorizer/server/authenticators/providers/totp"
|
||||
"github.com/authorizerdev/authorizer/server/constants"
|
||||
"github.com/authorizerdev/authorizer/server/memorystore"
|
||||
)
|
||||
|
||||
// Provider is the global authenticators provider.
|
||||
var Provider providers.Provider
|
||||
|
||||
// InitTOTPStore initializes the TOTP authenticator store if it's not disabled in the environment variables.
|
||||
// It sets the global Provider variable to a new TOTP provider.
|
||||
func InitTOTPStore() error {
|
||||
var err error
|
||||
isTOTPEnvServiceDisabled, _ := memorystore.Provider.GetBoolStoreEnvVariable(constants.EnvKeyDisableTOTPLogin)
|
||||
|
||||
if !isTOTPEnvServiceDisabled {
|
||||
Provider, err = totp.NewProvider()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
Reference in New Issue
Block a user