26 lines
637 B
Go
26 lines
637 B
Go
// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved.
|
|
// See License.txt for license information.
|
|
|
|
package einterfaces
|
|
|
|
import (
|
|
"github.com/mattermost/platform/model"
|
|
)
|
|
|
|
type MfaInterface interface {
|
|
GenerateSecret(user *model.User) (string, []byte, *model.AppError)
|
|
Activate(user *model.User, token string) *model.AppError
|
|
Deactivate(userId string) *model.AppError
|
|
ValidateToken(secret, token string) (bool, *model.AppError)
|
|
}
|
|
|
|
var theMfaInterface MfaInterface
|
|
|
|
func RegisterMfaInterface(newInterface MfaInterface) {
|
|
theMfaInterface = newInterface
|
|
}
|
|
|
|
func GetMfaInterface() MfaInterface {
|
|
return theMfaInterface
|
|
}
|