evaluate role in higher layer

This commit is contained in:
2023-11-06 22:09:29 +01:00
parent ab2d527dbd
commit f6120640d2
5 changed files with 33 additions and 16 deletions

View File

@ -69,12 +69,13 @@ func (o *GenericOAuth) ExchangeCode(redirectURI, code string) (string, error) {
}
// GetUser uses the given token and returns a complete provider.User object
func (o *GenericOAuth) GetUser(token string) (User, error) {
func (o *GenericOAuth) GetUser(token string) (User, Roles, error) {
var user User
var roles Roles
req, err := http.NewRequest("GET", o.UserURL, nil)
if err != nil {
return user, err
return user, roles, err
}
if o.TokenStyle == "header" {
@ -88,11 +89,11 @@ func (o *GenericOAuth) GetUser(token string) (User, error) {
client := &http.Client{}
res, err := client.Do(req)
if err != nil {
return user, err
return user, roles, err
}
defer res.Body.Close()
err = json.NewDecoder(res.Body).Decode(&user)
return user, err
return user, roles, err
}