|
|
|
@ -10,9 +10,6 @@ import ( |
|
|
|
|
|
|
|
const ( |
|
|
|
userPath = "/auth/admin/realms/:realm/users" |
|
|
|
adminExtensionAPIPath = "/auth/realms/:realmReq/api/admin/realms/:realm" |
|
|
|
usersAdminExtensionAPIPath = adminExtensionAPIPath + "/users" |
|
|
|
sendEmailAdminExtensionAPIPath = adminExtensionAPIPath + "/send-email" |
|
|
|
userCountPath = userPath + "/count" |
|
|
|
userIDPath = userPath + "/:id" |
|
|
|
userGroupsPath = userIDPath + "/groups" |
|
|
|
@ -35,14 +32,14 @@ func (c *Client) GetUsers(accessToken string, reqRealmName, targetRealmName stri |
|
|
|
return resp, errors.New(keycloak.MsgErrInvalidParam + "." + keycloak.EvenParams) |
|
|
|
} |
|
|
|
|
|
|
|
var plugins = append(createQueryPlugins(paramKV...), url.Path(usersAdminExtensionAPIPath), url.Param("realmReq", reqRealmName), url.Param("realm", targetRealmName)) |
|
|
|
var plugins = append(createQueryPlugins(paramKV...), url.Path(userPath), url.Param("realm", targetRealmName)) |
|
|
|
var err = c.get(accessToken, &resp, plugins...) |
|
|
|
return resp, err |
|
|
|
} |
|
|
|
|
|
|
|
// CreateUser creates the user from its UserRepresentation. The username must be unique.
|
|
|
|
func (c *Client) CreateUser(accessToken string, reqRealmName, targetRealmName string, user keycloak.UserRepresentation) (string, error) { |
|
|
|
return c.post(accessToken, nil, url.Path(usersAdminExtensionAPIPath), url.Param("realmReq", reqRealmName), url.Param("realm", targetRealmName), body.JSON(user)) |
|
|
|
return c.post(accessToken, nil, url.Path(userPath), url.Param("realm", targetRealmName), body.JSON(user)) |
|
|
|
} |
|
|
|
|
|
|
|
// CountUsers returns the number of users in the realm.
|
|
|
|
@ -128,12 +125,6 @@ func (c *Client) LinkShadowUser(accessToken string, reqRealmName string, userID |
|
|
|
return err |
|
|
|
} |
|
|
|
|
|
|
|
// SendEmail sends an email to a user
|
|
|
|
func (c *Client) SendEmail(accessToken string, reqRealmName string, realmName string, emailRep keycloak.EmailRepresentation) error { |
|
|
|
_, err := c.post(accessToken, nil, url.Path(sendEmailAdminExtensionAPIPath), url.Param("realmReq", reqRealmName), url.Param("realm", realmName), body.JSON(emailRep)) |
|
|
|
return err |
|
|
|
} |
|
|
|
|
|
|
|
// SendSMS sends an SMS to a user
|
|
|
|
func (c *Client) SendSMS(accessToken string, realmName string, smsRep keycloak.SMSRepresentation) error { |
|
|
|
_, err := c.post(accessToken, nil, url.Path(sendSMSPath), url.Param("realm", realmName), body.JSON(smsRep)) |
|
|
|
|