fix(oauth): analyze id_token for Azure [EE-2984] (#7000)

This commit is contained in:
Dmitry Salakhov
2022-07-06 13:22:57 +12:00
committed by GitHub
parent 0cd2a4558b
commit fd4b515350
7 changed files with 428 additions and 46 deletions

View File

@@ -0,0 +1,24 @@
package oauth
import (
"errors"
"fmt"
portainer "github.com/portainer/portainer/api"
)
func getUsername(datamap map[string]interface{}, configuration *portainer.OAuthSettings) (string, error) {
username, ok := datamap[configuration.UserIdentifier].(string)
if ok && username != "" {
return username, nil
}
if !ok {
username, ok := datamap[configuration.UserIdentifier].(float64)
if ok && username != 0 {
return fmt.Sprint(int(username)), nil
}
}
return "", errors.New("failed to extract username from oauth resource")
}