OKMAuth
Used for managing security and users. For example, add or remove grants on a node, create or modify users, or get the profiles.
Basics
Section titled “Basics”The class com.openkm.bean.Permission contains permission values (READ, WRITE, etc.). You should use it in combination with methods that change or get security grants.
In almost all methods, you’ll see a parameter named “nodeId”. The value of this parameter can be a valid node UUID (folder, document, mail, or record).
Also, in all methods, you’ll see a parameter named “token”. Because the Cron tasks are executed in the background without authentication, the methods used in this scenario might use the token parameter. From the default application execution context, you must use the “null” value, which indicates that the application must use the “user session”.
Methods
Section titled “Methods”Description:
| Method | Return values | Description |
|---|---|---|
| login() | void | Simulates the user UI login process. |
Example:
package com.openkm;
import com.openkm.api.OKMAuth;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMAuth okmAuth = ContextWrapper.getContext().getBean(OKMAuth.class); okmAuth.login(); } catch (Exception e) { e.printStackTrace(); } }}Description:
| Method | Return values | Description |
|---|---|---|
| login(String user, String pass) | String | The login process returns an authentication token. |
Example:
package com.openkm;
import com.openkm.api.OKMAuth;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMAuth okmAuth = ContextWrapper.getContext().getBean(OKMAuth.class); okmAuth.login("userId","password"); } catch (Exception e) { e.printStackTrace(); } }}grantUser
Section titled “grantUser”Description:
| Method | Return values | Description |
|---|---|---|
| grantUser(String token, String nodeId, String user, int permissions, boolean recursive) | void | Add a user grant on a node. |
- The parameter recursive only makes sense when the nodeId is a folder or record node.
- When the parameter recursive is true, the change will be applied to the node and its descendants.
Example:
package com.openkm;
import com.openkm.api.OKMAuth;import com.openkm.bean.Permission;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMAuth okmAuth = ContextWrapper.getContext().getBean(OKMAuth.class); // Add sochoa write grants at the node but not descendants okmAuth.grantUser(null, "b153c4b7-3d1c-4589-bd42-0ed0f34fd338", "sochoa", Permission.ALL_GRANTS, false);
// Add all okmAdmin grants at the node and descendants okmAuth.grantUser(null, "b153c4b7-3d1c-4589-bd42-0ed0f34fd338", "okmAdmin", Permission.ALL_GRANTS, true); } catch (Exception e) { e.printStackTrace(); } }}revokeUser
Section titled “revokeUser”Description:
| Method | Return values | Description |
|---|---|---|
| revokeUser(String token, String nodeId, String user, int permissions, boolean recursive) | void | Remove a user grant on a node. |
- The parameter recursive only makes sense when the nodeId is a folder or a record node.
- When the parameter recursive is true, the change will be applied to the node and descendants.
Example:
package com.openkm;
import com.openkm.api.OKMAuth;import com.openkm.bean.Permission;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMAuth okmAuth = ContextWrapper.getContext().getBean(OKMAuth.class);
// Add sochoa write grants at the node but not descendants okmAuth.revokeUser(null, "b153c4b7-3d1c-4589-bd42-0ed0f34fd338", "sochoa", Permission.ALL_GRANTS, false);
// Remove all okmAdmin grants at the node and descendants okmAuth.revokeUser(null, "b153c4b7-3d1c-4589-bd42-0ed0f34fd338", "okmAdmin", Permission.ALL_GRANTS, true); } catch (Exception e) { e.printStackTrace(); } }}getGrantedUsers
Section titled “getGrantedUsers”Description:
| Method | Return values | Description |
|---|---|---|
| getGrantedUsers(String token, String nodeId) | Map<String, Integer> | Returns the granted users of a node. |
Example:
package com.openkm;
import java.util.Map;
import com.openkm.api.OKMAuth;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMAuth okmAuth = ContextWrapper.getContext().getBean(OKMAuth.class);
Map<String, Integer> grants = okmAuth.getGrantedUsers(null, "b153c4b7-3d1c-4589-bd42-0ed0f34fd338"); for (String role : grants.keySet()) { System.out.println(role + "->" + grants.get(role)); } } catch (Exception e) { e.printStackTrace(); } }}grantRole
Section titled “grantRole”Description:
| Method | Return values | Description |
|---|---|---|
| grantRole(String token, String nodeId, String role, int permissions, boolean recursive) | void | Add a role grant on a node. |
- The parameter recursive only makes sense when the nodeId is a folder or a record node.
- When the parameter recursive is true, the change will be applied to the node and descendants.
Example:
package com.openkm;
import com.openkm.api.OKMAuth;import com.openkm.bean.Permission;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMAuth okmAuth = ContextWrapper.getContext().getBean(OKMAuth.class);
// Add ROLE_USER write grants at the node but not descendants okmAuth.grantRole(null, "b153c4b7-3d1c-4589-bd42-0ed0f34fd338", "ROLE_USER", Permission.ALL_GRANTS, false);
// Add all ROLE_ADMIN grants to the node and descendants okmAuth.grantRole(null, "b153c4b7-3d1c-4589-bd42-0ed0f34fd338", "ROLE_ADMIN", Permission.ALL_GRANTS, true); } catch (Exception e) { e.printStackTrace(); } }}revokeRole
Section titled “revokeRole”Description:
| Method | Return values | Description |
|---|---|---|
| revokeRole(String token, String nodeId, String role, int permissions, boolean recursive) | void | Remove a role grant on a node. |
- The parameter recursive only makes sense when the nodeId is a folder or a record node.
- When the parameter recursive is true, the change will be applied to the node and its descendants.
Example:
package com.openkm;import com.openkm.api.OKMAuth;import com.openkm.bean.Permission;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMAuth okmAuth = ContextWrapper.getContext().getBean(OKMAuth.class); // Remove ROLE_USER write grants at the node but not descendants okmAuth.revokeRole(null, "b153c4b7-3d1c-4589-bd42-0ed0f34fd338", "ROLE_USER", Permission.ALL_GRANTS, false);
// Remove all ROLE_ADMIN grants to the node and descendants okmAuth.revokeRole(null, "b153c4b7-3d1c-4589-bd42-0ed0f34fd338", "ROLE_ADMIN", Permission.ALL_GRANTS, true); } catch (Exception e) { e.printStackTrace(); } }}getGrantedRoles
Section titled “getGrantedRoles”Description:
| Method | Return values | Description |
|---|---|---|
| getGrantedRoles(String token, String nodeId) | Map<String, Integer> | Returns the granted roles of a node. |
Example:
package com.openkm;
import java.util.Map;
import com.openkm.api.OKMAuth;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMAuth okmAuth = ContextWrapper.getContext().getBean(OKMAuth.class); Map<String, Integer> grants = okmAuth.getGrantedRoles(null, "b153c4b7-3d1c-4589-bd42-0ed0f34fd338"); for (String role : grants.keySet()) { System.out.println(role + "->" + grants.get(role)); } } catch (Exception e) { e.printStackTrace(); } }}getUsers
Section titled “getUsers”Description:
| Method | Return values | Description |
|---|---|---|
| getUsers(String token, boolean filterByActive) | List |
Returns the list of all users. When filterByActive is true, returns only active users. |
Example:
package com.openkm;
import com.openkm.api.OKMAuth;import com.openkm.db.bean.DbUser;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMAuth okmAuth = ContextWrapper.getContext().getBean(OKMAuth.class); for (DbUser user : okmAuth.getUsers(null, true)) { System.out.println(user.getId()); System.out.println(user.getName()); System.out.println(user.getEmail()); System.out.println(user.getActive()); } } catch (Exception e) { e.printStackTrace(); } }}getRoles
Section titled “getRoles”Description:
| Method | Return values | Description |
|---|---|---|
| getRoles(String token, boolean filterByActive) | List |
Returns the list of all roles. When filterByActive is true, returns only active roles. |
Example:
package com.openkm;
import com.openkm.api.OKMAuth;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMAuth okmAuth = ContextWrapper.getContext().getBean(OKMAuth.class); for (String role : okmAuth.getRoles(null, true)) { System.out.println(role); } } catch (Exception e) { e.printStackTrace(); } }}getUsersByRole
Section titled “getUsersByRole”Description:
| Method | Return values | Description |
|---|---|---|
| getUsersByRole(String token, String role) | List |
Returns the list of all users who have been assigned a role. |
Example:
package com.openkm;
import com.openkm.api.OKMAuth;import com.openkm.db.bean.DbUser;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMAuth okmAuth = ContextWrapper.getContext().getBean(OKMAuth.class); for (DbUser user : okmAuth.getUsersByRole(null, "ROLE_ADMIN")) { System.out.println(user.getId()); System.out.println(user.getName()); System.out.println(user.getEmail()); System.out.println(user.getActive()); } } catch (Exception e) { e.printStackTrace(); } }}getRolesByUser
Section titled “getRolesByUser”Description:
| Method | Return values | Description |
|---|---|---|
| getRolesByUser(String token, String user) | List |
Returns the list of all roles assigned to a user. |
Example:
package com.openkm;
import com.openkm.api.OKMAuth;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMAuth okmAuth = ContextWrapper.getContext().getBean(OKMAuth.class); for (String role : okmAuth.getRolesByUser(null, "okmAdmin")) { System.out.println(role); } } catch (Exception e) { e.printStackTrace(); } }}changeSecurity
Section titled “changeSecurity”Description:
| Method | Return values | Description |
|---|---|---|
| public void changeSecurity(String token, String nodeId, Map<String, Integer> grantUsers, Map<String, Integer> revokeUsers, Map<String, Integer> grantRoles, Map<String, Integer> revokeRoles, boolean recursive) |
void | Change the security of a node. |
Example:
package com.openkm;
import java.util.HashMap;import java.util.Map;
import com.openkm.api.OKMAuth;import com.openkm.bean.Permission;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMAuth okmAuth = ContextWrapper.getContext().getBean(OKMAuth.class); String nodeId = "b153c4b7-3d1c-4589-bd42-0ed0f34fd338"; Map<String, Integer> grantUsers = new HashMap<>(); Map<String, Integer> revokeUsers = new HashMap<>(); Map<String, Integer> grantRoles = new HashMap<>(); grantRoles.put("ROLE_TEST", Permission.READ | Permission.WRITE); Map<String, Integer> revokeRoles = new HashMap<>(); okmAuth.changeSecurity(null, nodeId, grantUsers, revokeUsers, grantRoles, revokeRoles, false); } catch (Exception e) { e.printStackTrace(); } }}overwriteSecurity
Section titled “overwriteSecurity”Description:
| Method | Return values | Description |
|---|---|---|
| public void overwriteSecurity(String token, String nodeId, Map<String, Integer> grantUsers, Map<String, Integer> grantRoles, boolean recursive) |
void | Overwrite the security of a node. |
Example:
package com.openkm;
import java.util.HashMap;import java.util.Map;
import com.openkm.api.OKMAuth;import com.openkm.bean.Permission;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMAuth okmAuth = ContextWrapper.getContext().getBean(OKMAuth.class); String nodeId = "b153c4b7-3d1c-4589-bd42-0ed0f34fd338"; Map<String, Integer> grantUsers = new HashMap<>(); Map<String, Integer> grantRoles = new HashMap<>(); grantRoles.put("ROLE_TEST", Permission.READ | Permission.WRITE); okmAuth.overwriteSecurity(null, nodeId, grantUsers, grantRoles, false); } catch (Exception e) { e.printStackTrace(); } }}createUser
Section titled “createUser”Description:
| Method | Return values | Description |
|---|---|---|
| createUser(String token, DbUser user) | DbUser | Create a new user. Returns the created user object. |
Example:
package com.openkm;
import com.openkm.api.OKMAuth;import com.openkm.db.bean.DbUser;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMAuth okmAuth = ContextWrapper.getContext().getBean(OKMAuth.class); DbUser user = new DbUser(); user.setId("test"); user.setPassword("password.2019"); user.setEmail("some@mail.com"); user.setName("User Name"); user.setActive(true); DbUser created = okmAuth.createUser(null, user); } catch (Exception e) { e.printStackTrace(); } }}deleteUser
Section titled “deleteUser”Description:
| Method | Return values | Description |
|---|---|---|
| deleteUser(String token, String user) | void | Delete a user. |
Example:
package com.openkm;
import com.openkm.api.OKMAuth;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMAuth okmAuth = ContextWrapper.getContext().getBean(OKMAuth.class); okmAuth.deleteUser(null, "test"); } catch (Exception e) { e.printStackTrace(); } }}updateUser
Section titled “updateUser”Description:
| Method | Return values | Description |
|---|---|---|
| updateUser(String token, DbUser user) | DbUser | Update a user. Returns the updated user object. |
Example:
package com.openkm;
import com.openkm.api.OKMAuth;import com.openkm.db.bean.DbUser;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMAuth okmAuth = ContextWrapper.getContext().getBean(OKMAuth.class); DbUser user = new DbUser(); user.setId("test"); user.setPassword("newpassword"); user.setEmail("some@mail.com"); user.setName("Test"); user.setActive(false); DbUser updated = okmAuth.updateUser(null, user); } catch (Exception e) { e.printStackTrace(); } }}createRole
Section titled “createRole”Description:
| Method | Return values | Description |
|---|---|---|
| createRole(String token, Role role) | void | Create a new role. |
Example:
package com.openkm;
import com.openkm.api.OKMAuth;import com.openkm.bean.Role;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMAuth okmAuth = ContextWrapper.getContext().getBean(OKMAuth.class); Role role = new Role(); role.setId("ROLE_TEST"); role.setActive(true); okmAuth.createRole(null, role); } catch (Exception e) { e.printStackTrace(); } }}deleteRole
Section titled “deleteRole”Description:
| Method | Return values | Description |
|---|---|---|
| deleteRole(String token, String role) | void | Delete a role. |
Example:
package com.openkm;
import com.openkm.api.OKMAuth;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMAuth okmAuth = ContextWrapper.getContext().getBean(OKMAuth.class); okmAuth.deleteRole(null, "ROLE_TEST"); } catch (Exception e) { e.printStackTrace(); } }}updateRole
Section titled “updateRole”Description:
| Method | Return values | Description |
|---|---|---|
| updateRole(String token, String role, boolean active) | void | Update a role. |
Example:
package com.openkm;
import com.openkm.api.OKMAuth;import com.openkm.util.ContextWrapper;
public class Test { public static void main(String[] args) { try { OKMAuth okmAuth = ContextWrapper.getContext().getBean(OKMAuth.class); okmAuth.updateRole(null, "ROLE_TEST", true); } catch (Exception e) { e.printStackTrace(); } }}assignRole
Section titled “assignRole”Description:
| Method | Return values | Description |
|---|---|---|
| assignRole(String token, String user, String role) | void | Assign a role to a user. |
Example:
package com.openkm;
import com.openkm.api.OKMAuth;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMAuth okmAuth = ContextWrapper.getContext().getBean(OKMAuth.class); okmAuth.assignRole(null, "test", "ROLE_USER"); } catch (Exception e) { e.printStackTrace(); } }}removeRole
Section titled “removeRole”Description:
| Method | Return values | Description |
|---|---|---|
| removeRole(String token, String user, String role) | void | Remove a role from a user. |
Example:
package com.openkm;
import com.openkm.api.OKMAuth;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMAuth okmAuth = ContextWrapper.getContext().getBean(OKMAuth.class); okmAuth.removeRole(null, "test", "ROLE_USER"); } catch (Exception e) { e.printStackTrace(); } }}getProfiles
Section titled “getProfiles”Description:
| Method | Return values | Description |
|---|---|---|
| getProfiles(String token, boolean filterByActive) | List |
Returns a list of all profiles. |
- When the parameter filterByActive is enabled, the method will return only the active profiles; otherwise, it will return all available profiles.
Example:
package com.openkm;
import com.openkm.api.OKMAuth;import com.openkm.db.bean.Profile;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMAuth okmAuth = ContextWrapper.getContext().getBean(OKMAuth.class); for (Profile profile : okmAuth.getProfiles(null, true)) { System.out.println(profile); } } catch (Exception e) { e.printStackTrace(); } }}getUserProfile
Section titled “getUserProfile”Description:
| Method | Return values | Description |
|---|---|---|
| getUserProfile(String token, String userId) | Profile | Returns the profile assigned to a user. |
Example:
package com.openkm;
import com.openkm.api.OKMAuth;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMAuth okmAuth = ContextWrapper.getContext().getBean(OKMAuth.class); System.out.println(okmAuth.getUserProfile(null, "okmAdmin")); } catch (Exception e) { e.printStackTrace(); } }}setUserProfile
Section titled “setUserProfile”Description:
| Method | Return values | Description |
|---|---|---|
| setUserProfile(String token, String userId, long profileId) | void | Change the profile assigned to a user. |
Example:
package com.openkm;
import com.openkm.api.OKMAuth;import com.openkm.db.bean.Profile;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMAuth okmAuth = ContextWrapper.getContext().getBean(OKMAuth.class); // Set the profile named "default" to the user for (Profile profile : okmAuth.getProfiles(null, true)) { if (profile.getName().equals("default")) { okmAuth.setUserProfile(null, "okmAdmin", profile.getId()); } } } catch (Exception e) { e.printStackTrace(); } }}logout
Section titled “logout”Description:
| Method | Return values | Description |
|---|---|---|
| logout(String token) | void | Executes the logout method on the OpenKM side. |
Example:
package com.openkm;
import com.openkm.api.OKMAuth;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMAuth okmAuth = ContextWrapper.getContext().getBean(OKMAuth.class); okmAuth.logout(null); } catch (Exception e) { e.printStackTrace(); } }}getUser
Section titled “getUser”Description:
| Method | Return values | Description |
|---|---|---|
| getUser(String token, String userId) | DbUser | Returns user data. |
Example:
package com.openkm;
import com.openkm.api.OKMAuth;import com.openkm.db.bean.DbUser;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMAuth okmAuth = ContextWrapper.getContext().getBean(OKMAuth.class); DbUser commonUser = okmAuth.getUser(null, "okmAdmin"); System.out.print(commonUser); } catch (Exception e) { e.printStackTrace(); } }}setUserPermissions
Section titled “setUserPermissions”Description:
| Method | Return values | Description |
|---|---|---|
| public void setUserPermissions(String token, String nodeId, String user, int permissions, boolean recursive) | void | Update user permissions on a node. |
- The parameter recursive only makes sense when the UUID is a folder or record node.
- When the parameter recursive is true, the changes will be applied to the node and descendants.
Example:
package com.openkm;
import com.openkm.api.OKMAuth;import com.openkm.bean.Permission;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMAuth okmAuth = ContextWrapper.getContext().getBean(OKMAuth.class); // Update permissions of sochoa at the node but not descendants okmAuth.setUserPermissions(null, "3c68b3a1-c65c-4b1e-84b5-9ce2712ca573", "sochoa", Permission.READ + Permission.WRITE, false);
// Update permissions of okmAdmin at the node and descendants okmAuth.setUserPermissions(null, "3c68b3a1-c65c-4b1e-84b5-9ce2712ca573", "okmAdmin", Permission.ALL_GRANTS, true); } catch (Exception e) { e.printStackTrace(); } }}setRolePermissions
Section titled “setRolePermissions”Description:
| Method | Return values | Description |
|---|---|---|
| setRolePermissions(String token, String nodeId, String role, int permissions, boolean recursive) | void | Update role permissions on a node. |
- The parameter recursive only makes sense when the UUID is a folder or record node.
- When the parameter recursive is true, the changes will be applied to the node and descendants.
Example:
package com.openkm;
import com.openkm.api.OKMAuth;import com.openkm.bean.Permission;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMAuth okmAuth = ContextWrapper.getContext().getBean(OKMAuth.class); // Update permissions of ROLE_USER at the node but not descendants okmAuth.setRolePermissions(null, "3c68b3a1-c65c-4b1e-84b5-9ce2712ca573", "ROLE_USER", Permission.READ + Permission.WRITE, false);
// Update permissions of ROLE_ADMIN at the node and descendants okmAuth.setRolePermissions(null, "3c68b3a1-c65c-4b1e-84b5-9ce2712ca573", "ROLE_ADMIN", Permission.ALL_GRANTS, true); } catch (Exception e) { e.printStackTrace(); } }}getUserTenants
Section titled “getUserTenants”Description:
| Method | Return values | Description |
|---|---|---|
| getUserTenants(String token) | List |
Returns a list of all tenants to which the user has access. |
Example:
package com.openkm;
import java.util.List;
import com.openkm.api.OKMAuth;import com.openkm.db.bean.Tenant;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMAuth okmAuth = ContextWrapper.getContext().getBean(OKMAuth.class);
List<Tenant> tenants = okmAuth.getUserTenants(null); for (Tenant tenant : tenants) { System.out.println(tenant); } } catch (Exception e) { e.printStackTrace(); } }}setUserTenant
Section titled “setUserTenant”Description:
| Method | Return values | Description |
|---|---|---|
| setUserTenant(String token, long tenantId) | void | Change the tenant assigned to a user. |
Example:
package com.openkm;
import com.openkm.api.OKMAuth;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMAuth okmAuth = ContextWrapper.getContext().getBean(OKMAuth.class);
long tenantId = 1; okmAuth.setUserTenant(null, tenantId); } catch (Exception e) { e.printStackTrace(); } }}isPasswordExpired
Section titled “isPasswordExpired”Description:
| Method | Return values | Description |
|---|---|---|
| isPasswordExpired(String token) | Boolean | Checks if the user’s password has expired. |
Example:
package com.openkm;
import com.openkm.api.OKMAuth;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMAuth okmAuth = ContextWrapper.getContext().getBean(OKMAuth.class);
Boolean isExpired = okmAuth.isPasswordExpired(null); } catch (Exception e) { e.printStackTrace(); } }}resetPassword
Section titled “resetPassword”Description:
| Method | Return values | Description |
|---|---|---|
| resetPassword(String userId) | void | Sends an email with a link that, if the user clicks it, will reset the password. |
Example:
package com.openkm;
import com.openkm.api.OKMAuth;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) { try { OKMAuth okmAuth = ContextWrapper.getContext().getBean(OKMAuth.class);
String userId = "okmAdmin"; okmAuth.resetPassword(userId); } catch (Exception e) { e.printStackTrace(); } }}