Browse Source

feat(connector/microsoft): support custom api and graph URLs (#3084)

Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com>
pull/1489/head^2
Márk Sági-Kazár 2 years ago committed by GitHub
parent
commit
b772ed55ba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 16
      connector/microsoft/microsoft.go

16
connector/microsoft/microsoft.go

@ -54,6 +54,9 @@ type Config struct {
UseGroupsAsWhitelist bool `json:"useGroupsAsWhitelist"`
EmailToLowercase bool `json:"emailToLowercase"`
APIURL string `json:"apiURL"`
GraphURL string `json:"graphURL"`
// PromptType is used for the prompt query parameter.
// For valid values, see https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow#request-an-authorization-code.
PromptType string `json:"promptType"`
@ -65,8 +68,8 @@ type Config struct {
// Open returns a strategy for logging in through Microsoft.
func (c *Config) Open(id string, logger log.Logger) (connector.Connector, error) {
m := microsoftConnector{
apiURL: "https://login.microsoftonline.com",
graphURL: "https://graph.microsoft.com",
apiURL: strings.TrimSuffix(c.APIURL, "/"),
graphURL: strings.TrimSuffix(c.GraphURL, "/"),
redirectURI: c.RedirectURI,
clientID: c.ClientID,
clientSecret: c.ClientSecret,
@ -81,6 +84,15 @@ func (c *Config) Open(id string, logger log.Logger) (connector.Connector, error)
domainHint: c.DomainHint,
scopes: c.Scopes,
}
if m.apiURL == "" {
m.apiURL = "https://login.microsoftonline.com"
}
if m.graphURL == "" {
m.graphURL = "https://graph.microsoft.com"
}
// By default allow logins from both personal and business/school
// accounts.
if m.tenant == "" {

Loading…
Cancel
Save