mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
* implement openid connect * update error strings * handle OpenIdSetting.Secret as FAKE SETTING * add openid to telemetry * update config defaults, add telemetry * fix bug with Office365 * Retrieve Office365 AuthData from IdToken * fix linter * add feature flag, reset defaults for config * fix build error * fix unit tests * add authentication permission to Feature Flags * turn off feature flag * set default button color * set default button color only on openid * fix for merging FeatureFlags in config * remove feature flag * revert config changes * remove debug statements Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
31 lines
749 B
Go
31 lines
749 B
Go
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
// See LICENSE.txt for license information.
|
|
|
|
package einterfaces
|
|
|
|
import (
|
|
"io"
|
|
|
|
"github.com/mattermost/mattermost-server/v5/model"
|
|
)
|
|
|
|
type OauthProvider interface {
|
|
GetUserFromJson(data io.Reader, tokenUser *model.User) (*model.User, error)
|
|
GetSSOSettings(config *model.Config, service string) (*model.SSOSettings, error)
|
|
GetUserFromIdToken(idToken string) (*model.User, error)
|
|
}
|
|
|
|
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
|
|
}
|