2016-05-21 05:14:08 -07:00
|
|
|
// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved.
|
|
|
|
// See License.txt for license information.
|
|
|
|
|
|
|
|
package einterfaces
|
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/mattermost/platform/model"
|
|
|
|
)
|
|
|
|
|
|
|
|
type MfaInterface interface {
|
2016-11-12 13:00:53 -08:00
|
|
|
GenerateSecret(user *model.User) (string, []byte, *model.AppError)
|
2016-05-21 05:14:08 -07:00
|
|
|
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
|
|
|
|
}
|