mirror of
https://github.com/gravitl/netmaker.git
synced 2025-09-08 14:15:25 +08:00
fix(go): avoid panic on client_email missing.
This commit is contained in:
parent
025eebe7f2
commit
2f6817821c
1 changed files with 9 additions and 1 deletions
|
@ -29,10 +29,18 @@ func NewGoogleWorkspaceClient(adminEmail, creds string) (*Client, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
var targetPrincipal string
|
||||
_, ok := credsJsonMap["client_email"]
|
||||
if !ok {
|
||||
return nil, errors.New("invalid service account credentials: missing client_email field")
|
||||
} else {
|
||||
targetPrincipal = credsJsonMap["client_email"].(string)
|
||||
}
|
||||
|
||||
source, err := impersonate.CredentialsTokenSource(
|
||||
context.TODO(),
|
||||
impersonate.CredentialsConfig{
|
||||
TargetPrincipal: credsJsonMap["client_email"].(string),
|
||||
TargetPrincipal: targetPrincipal,
|
||||
Scopes: []string{
|
||||
admindir.AdminDirectoryUserReadonlyScope,
|
||||
admindir.AdminDirectoryGroupReadonlyScope,
|
||||
|
|
Loading…
Add table
Reference in a new issue