forked from mystiq/dex
Merge pull request #1888 from VF-mbrauer/UPN-Lowercase
Added the possibility to activate lowercase for UPN-Strings
This commit is contained in:
commit
ee50c09313
1 changed files with 8 additions and 0 deletions
|
@ -9,6 +9,7 @@ import (
|
|||
"fmt"
|
||||
"io"
|
||||
"net/http"
|
||||
"strings"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
|
@ -51,6 +52,7 @@ type Config struct {
|
|||
Groups []string `json:"groups"`
|
||||
GroupNameFormat GroupNameFormat `json:"groupNameFormat"`
|
||||
UseGroupsAsWhitelist bool `json:"useGroupsAsWhitelist"`
|
||||
EmailToLowercase bool `json:"emailToLowercase"`
|
||||
}
|
||||
|
||||
// Open returns a strategy for logging in through Microsoft.
|
||||
|
@ -67,6 +69,7 @@ func (c *Config) Open(id string, logger log.Logger) (connector.Connector, error)
|
|||
groupNameFormat: c.GroupNameFormat,
|
||||
useGroupsAsWhitelist: c.UseGroupsAsWhitelist,
|
||||
logger: logger,
|
||||
emailToLowercase: c.EmailToLowercase,
|
||||
}
|
||||
// By default allow logins from both personal and business/school
|
||||
// accounts.
|
||||
|
@ -109,6 +112,7 @@ type microsoftConnector struct {
|
|||
groups []string
|
||||
useGroupsAsWhitelist bool
|
||||
logger log.Logger
|
||||
emailToLowercase bool
|
||||
}
|
||||
|
||||
func (c *microsoftConnector) isOrgTenant() bool {
|
||||
|
@ -171,6 +175,10 @@ func (c *microsoftConnector) HandleCallback(s connector.Scopes, r *http.Request)
|
|||
return identity, fmt.Errorf("microsoft: get user: %v", err)
|
||||
}
|
||||
|
||||
if c.emailToLowercase {
|
||||
user.Email = strings.ToLower(user.Email)
|
||||
}
|
||||
|
||||
identity = connector.Identity{
|
||||
UserID: user.ID,
|
||||
Username: user.Name,
|
||||
|
|
Loading…
Reference in a new issue