Skip to content

Commit

Permalink
feat(connector/microsoft): support custom api and graph URLs
Browse files Browse the repository at this point in the history
Signed-off-by: Mark Sagi-Kazar <[email protected]>
  • Loading branch information
sagikazarmark committed Aug 24, 2023
1 parent 70d7a2c commit 77128b3
Showing 1 changed file with 14 additions and 2 deletions.
16 changes: 14 additions & 2 deletions connector/microsoft/microsoft.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"`
Expand All @@ -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,
Expand All @@ -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 == "" {
Expand Down

0 comments on commit 77128b3

Please sign in to comment.