summaryrefslogtreecommitdiffstats
path: root/einterfaces/oauthproviders.go
blob: 178c17c1167dcde75b0511b216d1bdf1595642b5 (plain)
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
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.

package einterfaces

import (
	"io"

	"github.com/mattermost/mattermost-server/model"
)

type OauthProvider interface {
	GetUserFromJson(data io.Reader) *model.User
}

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
}