mirror of
https://github.com/gravitl/netmaker.git
synced 2025-09-14 00:54:21 +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
|
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(
|
source, err := impersonate.CredentialsTokenSource(
|
||||||
context.TODO(),
|
context.TODO(),
|
||||||
impersonate.CredentialsConfig{
|
impersonate.CredentialsConfig{
|
||||||
TargetPrincipal: credsJsonMap["client_email"].(string),
|
TargetPrincipal: targetPrincipal,
|
||||||
Scopes: []string{
|
Scopes: []string{
|
||||||
admindir.AdminDirectoryUserReadonlyScope,
|
admindir.AdminDirectoryUserReadonlyScope,
|
||||||
admindir.AdminDirectoryGroupReadonlyScope,
|
admindir.AdminDirectoryGroupReadonlyScope,
|
||||||
|
|
Loading…
Add table
Reference in a new issue