feat(oidc claims): extend Claims struct with additional fields for user attributes
This commit is contained in:
@@ -95,6 +95,20 @@ func Register(
|
|||||||
attrs[samlAttr] = []string{claims.Email}
|
attrs[samlAttr] = []string{claims.Email}
|
||||||
case "name":
|
case "name":
|
||||||
attrs[samlAttr] = []string{claims.Name}
|
attrs[samlAttr] = []string{claims.Name}
|
||||||
|
case "display_name":
|
||||||
|
attrs[samlAttr] = []string{claims.DisplayName}
|
||||||
|
case "email_verified":
|
||||||
|
if claims.EmailVerified {
|
||||||
|
attrs[samlAttr] = []string{"true"}
|
||||||
|
} else {
|
||||||
|
attrs[samlAttr] = []string{"false"}
|
||||||
|
}
|
||||||
|
case "given_name":
|
||||||
|
attrs[samlAttr] = []string{claims.GivenName}
|
||||||
|
case "family_name":
|
||||||
|
attrs[samlAttr] = []string{claims.FamilyName}
|
||||||
|
case "preferred_username":
|
||||||
|
attrs[samlAttr] = []string{claims.PreferredUsername}
|
||||||
case "role":
|
case "role":
|
||||||
attrs[samlAttr] = []string{mapRole(claims.Groups, sp)}
|
attrs[samlAttr] = []string{mapRole(claims.Groups, sp)}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -39,10 +39,15 @@ func NewClient(cfg *config.Config) (*Client, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type Claims struct {
|
type Claims struct {
|
||||||
Subject string `json:"sub"`
|
Subject string `json:"sub"`
|
||||||
Email string `json:"email"`
|
Email string `json:"email"`
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
Groups []string `json:"groups"`
|
Groups []string `json:"groups"`
|
||||||
|
DisplayName string `json:"display_name"`
|
||||||
|
EmailVerified bool `json:"email_verified"`
|
||||||
|
FamilyName string `json:"family_name"`
|
||||||
|
GivenName string `json:"given_name"`
|
||||||
|
PreferredUsername string `json:"preferred_username"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Client) AuthCodeURL(state string, extra url.Values) string {
|
func (c *Client) AuthCodeURL(state string, extra url.Values) string {
|
||||||
|
|||||||
Reference in New Issue
Block a user