github.com/vnforks/kid@v5.11.1+incompatible/einterfaces/oauthproviders.go (about)

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