|
@@ -15,10 +15,8 @@ type Client struct {
|
|
service *admindir.Service
|
|
service *admindir.Service
|
|
}
|
|
}
|
|
|
|
|
|
-func NewGoogleWorkspaceClient() (*Client, error) {
|
|
|
|
- settings := logic.GetServerSettings()
|
|
|
|
-
|
|
|
|
- credsJson, err := base64.StdEncoding.DecodeString(settings.GoogleSACredsJson)
|
|
|
|
|
|
+func NewGoogleWorkspaceClient(adminEmail, creds string) (*Client, error) {
|
|
|
|
+ credsJson, err := base64.StdEncoding.DecodeString(creds)
|
|
if err != nil {
|
|
if err != nil {
|
|
return nil, err
|
|
return nil, err
|
|
}
|
|
}
|
|
@@ -38,7 +36,7 @@ func NewGoogleWorkspaceClient() (*Client, error) {
|
|
admindir.AdminDirectoryGroupReadonlyScope,
|
|
admindir.AdminDirectoryGroupReadonlyScope,
|
|
admindir.AdminDirectoryGroupMemberReadonlyScope,
|
|
admindir.AdminDirectoryGroupMemberReadonlyScope,
|
|
},
|
|
},
|
|
- Subject: settings.GoogleAdminEmail,
|
|
|
|
|
|
+ Subject: adminEmail,
|
|
},
|
|
},
|
|
option.WithCredentialsJSON(credsJson),
|
|
option.WithCredentialsJSON(credsJson),
|
|
)
|
|
)
|
|
@@ -59,6 +57,12 @@ func NewGoogleWorkspaceClient() (*Client, error) {
|
|
}, nil
|
|
}, nil
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+func NewGoogleWorkspaceClientFromSettings() (*Client, error) {
|
|
|
|
+ settings := logic.GetServerSettings()
|
|
|
|
+
|
|
|
|
+ return NewGoogleWorkspaceClient(settings.GoogleAdminEmail, settings.GoogleSACredsJson)
|
|
|
|
+}
|
|
|
|
+
|
|
func (g *Client) GetUsers() ([]idp.User, error) {
|
|
func (g *Client) GetUsers() ([]idp.User, error) {
|
|
var retval []idp.User
|
|
var retval []idp.User
|
|
err := g.service.Users.List().
|
|
err := g.service.Users.List().
|