blob: b58e830788f15ea46176eef7eac4c573d92bf847 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.
package einterfaces
import (
"github.com/mattermost/platform/model"
"io"
)
type OauthProvider interface {
GetIdentifier() string
GetUserFromJson(data io.Reader) *model.User
GetAuthDataFromJson(data io.Reader) string
}
var oauthProviders = make(map[string]OauthProvider)
func RegisterOauthProvider(name string, newProvider OauthProvider) {
oauthProviders[name] = newProvider
}
func GetOauthProvider(name string) OauthProvider {
provider, ok := oauthProviders[name]
if ok {
return provider
}
return nil
}
|