|
|
|
@ -36,6 +36,9 @@ const ( |
|
|
|
// Microsoft requires this scope to list groups the user is a member of
|
|
|
|
// Microsoft requires this scope to list groups the user is a member of
|
|
|
|
// and resolve their ids to groups names.
|
|
|
|
// and resolve their ids to groups names.
|
|
|
|
scopeGroups = "directory.read.all" |
|
|
|
scopeGroups = "directory.read.all" |
|
|
|
|
|
|
|
// Microsoft requires this scope to return a refresh token
|
|
|
|
|
|
|
|
// see https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-permissions-and-consent#offline_access
|
|
|
|
|
|
|
|
scopeOfflineAccess = "offline_access" |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
// Config holds configuration options for microsoft logins.
|
|
|
|
// Config holds configuration options for microsoft logins.
|
|
|
|
@ -122,6 +125,10 @@ func (c *microsoftConnector) oauth2Config(scopes connector.Scopes) *oauth2.Confi |
|
|
|
microsoftScopes = append(microsoftScopes, scopeGroups) |
|
|
|
microsoftScopes = append(microsoftScopes, scopeGroups) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if scopes.OfflineAccess { |
|
|
|
|
|
|
|
microsoftScopes = append(microsoftScopes, scopeOfflineAccess) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return &oauth2.Config{ |
|
|
|
return &oauth2.Config{ |
|
|
|
ClientID: c.clientID, |
|
|
|
ClientID: c.clientID, |
|
|
|
ClientSecret: c.clientSecret, |
|
|
|
ClientSecret: c.clientSecret, |
|
|
|
|