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

@ -95,23 +95,24 @@ func (g *Google) ExchangeCode(redirectURI, code string) (string, error) {
}
// GetUser uses the given token and returns a complete provider.User object
func (g *Google) GetUser(token string) (User, error) {
func (g *Google) GetUser(token string) (User, Roles, error) {
var user User
var roles Roles
client := &http.Client{}
req, err := http.NewRequest("GET", g.UserURL.String(), nil)
if err != nil {
return user, err
return user, roles, err
}
req.Header.Add("Authorization", fmt.Sprintf("Bearer %s", token))
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
}