Ir al contenido
Otras versiones

Cargando…

OKMAuth

Se usa para gestionar la seguridad y los usuarios. Por ejemplo, añadir o eliminar permisos en un nodo, crear o modificar usuarios, u obtener los perfiles.

La clase com.openkm.bean.Permission contiene los valores de permiso (READ, WRITE, etc.). Debería usarla junto con los métodos que cambian u obtienen permisos de seguridad.

En casi todos los métodos verá un parámetro llamado “nodeId”. El valor de este parámetro puede ser un UUID de nodo válido (carpeta, documento, correo o record).

Además, en todos los métodos verá un parámetro llamado “token”. Como las tareas de Cron se ejecutan en segundo plano sin autenticación, los métodos usados en ese escenario pueden usar el parámetro token. En el contexto de ejecución por defecto de la aplicación debe usar el valor “null”, que indica que la aplicación debe usar la “sesión de usuario”.

Descripción:

Método Valores de retorno Descripción
login() void Simula el proceso de login de la interfaz de usuario.

Ejemplo:

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();
}
}
}

Descripción:

Método Valores de retorno Descripción
login(String user, String pass) String El proceso de login devuelve un token de autenticación.

Ejemplo:

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();
}
}
}

Descripción:

Método Valores de retorno Descripción
grantUser(String token, String nodeId, String user, int permissions, boolean recursive) void Añade un permiso de usuario en un nodo.
  • El parámetro recursive solo tiene sentido cuando nodeId es un nodo de carpeta o record.
  • Cuando el parámetro recursive es true, el cambio se aplicará al nodo y a sus descendientes.

Ejemplo:

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();
}
}
}

Descripción:

Método Valores de retorno Descripción
revokeUser(String token, String nodeId, String user, int permissions, boolean recursive) void Elimina un permiso de usuario en un nodo.
  • El parámetro recursive solo tiene sentido cuando nodeId es un nodo de carpeta o record.
  • Cuando el parámetro recursive es true, el cambio se aplicará al nodo y a sus descendientes.

Ejemplo:

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();
}
}
}

Descripción:

Método Valores de retorno Descripción
getGrantedUsers(String token, String nodeId) Map<String, Integer> Devuelve los usuarios con permisos de un nodo.

Ejemplo:

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();
}
}
}

Descripción:

Método Valores de retorno Descripción
grantRole(String token, String nodeId, String role, int permissions, boolean recursive) void Añade un permiso de rol en un nodo.
  • El parámetro recursive solo tiene sentido cuando nodeId es un nodo de carpeta o record.
  • Cuando el parámetro recursive es true, el cambio se aplicará al nodo y a sus descendientes.

Ejemplo:

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();
}
}
}

Descripción:

Método Valores de retorno Descripción
revokeRole(String token, String nodeId, String role, int permissions, boolean recursive) void Elimina un permiso de rol en un nodo.
  • El parámetro recursive solo tiene sentido cuando nodeId es un nodo de carpeta o record.
  • Cuando el parámetro recursive es true, el cambio se aplicará al nodo y a sus descendientes.

Ejemplo:

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();
}
}
}

Descripción:

Método Valores de retorno Descripción
getGrantedRoles(String token, String nodeId) Map<String, Integer> Devuelve los roles con permisos de un nodo.

Ejemplo:

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();
}
}
}

Descripción:

Método Valores de retorno Descripción
getUsers(String token) List Devuelve la lista de todos los usuarios.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMAuth;
import com.openkm.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)) {
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();
}
}
}

Descripción:

Método Valores de retorno Descripción
getRoles(String token) List Devuelve la lista de todos los roles.

Ejemplo:

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)) {
System.out.println(role);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
getUsersByRole(String token, String role) List Devuelve la lista de todos los usuarios a los que se ha asignado un rol.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMAuth;
import com.openkm.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();
}
}
}

Descripción:

Método Valores de retorno Descripción
getRolesByUser(String token, String user) List Devuelve la lista de todos los roles asignados a un usuario.

Ejemplo:

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();
}
}
}

Descripción:

Método Valores de retorno Descripción
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 Cambia la seguridad de un nodo.

Ejemplo:

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();
}
}
}

Descripción:

Método Valores de retorno Descripción
public void overwriteSecurity(String token, String nodeId, Map<String, Integer> grantUsers,
Map<String, Integer> grantRoles, boolean recursive)
void Sobrescribe la seguridad de un nodo.

Ejemplo:

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();
}
}
}

Descripción:

Método Valores de retorno Descripción
createUser(String token, User user) void Crea un nuevo usuario.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMAuth;
import com.openkm.bean.User;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMAuth okmAuth = ContextWrapper.getContext().getBean(OKMAuth.class);
User user = new User();
user.setId("test");
user.setPassword("password.2019");
user.setEmail("some@mail.com");
user.setName("User Name");
user.setActive(true);
okmAuth.createUser(null, user);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
deleteUser(String token, String user) void Elimina un usuario.

Ejemplo:

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();
}
}
}

Descripción:

Método Valores de retorno Descripción
updateUser(String token, User user) void Actualiza un usuario.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMAuth;
import com.openkm.bean.User;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMAuth okmAuth = ContextWrapper.getContext().getBean(OKMAuth.class);
User user = new User();
user.setId("test");
user.setPassword("newpassword");
user.setEmail("some@mail.com");
user.setName("Test");
user.setActive(false);
okmAuth.updateUser(null, user);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
createRole(String token, Role role) void Crea un nuevo rol.

Ejemplo:

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();
}
}
}

Descripción:

Método Valores de retorno Descripción
deleteRole(String token, String role) void Elimina un rol.

Ejemplo:

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();
}
}
}

Descripción:

Método Valores de retorno Descripción
updateRole(String token, String role, boolean active) void Actualiza un rol.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMAuth;
public class Test {
public static void main(String[] args) {
try {
OKMAuth.getInstance().updateRole(null, "ROLE_TEST",true);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
assignRole(String token, String user, String role) void Asigna un rol a un usuario.

Ejemplo:

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();
}
}
}

Descripción:

Método Valores de retorno Descripción
removeRole(String token, String user, String role) void Elimina un rol de un usuario.

Ejemplo:

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();
}
}
}

Descripción:

Método Valores de retorno Descripción
getProfiles(String token, boolean filterByActive) List Devuelve la lista de todos los perfiles.
  • Cuando el parámetro filterByActive está habilitado, el método devolverá solo los perfiles activos; en caso contrario, devolverá todos los perfiles disponibles.

Ejemplo:

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();
}
}
}

Descripción:

Método Valores de retorno Descripción
getUserProfile(String token, String userId) Profile Devuelve el perfil asignado a un usuario.

Ejemplo:

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();
}
}
}

Descripción:

Método Valores de retorno Descripción
setUserProfile(String token, String userId, long profileId) void Cambia el perfil asignado a un usuario.

Ejemplo:

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();
}
}
}

Descripción:

Método Valores de retorno Descripción
logout() void Ejecuta el método logout en el lado de OpenKM.

Ejemplo:

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();
}
}
}

Descripción:

Método Valores de retorno Descripción
getUser(String token, String userId) DbUser Devuelve los datos del usuario.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMAuth;
import com.openkm.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();
}
}
}

Descripción:

Método Valores de retorno Descripción
public void setUserPermissions(String token, String nodeId, String user, int permissions, boolean recursive) void Actualiza los permisos de usuario en un nodo.
  • El parámetro recursive solo tiene sentido cuando el UUID es un nodo de carpeta o record.
  • Cuando el parámetro recursive es true, los cambios se aplicarán al nodo y a sus descendientes.

Ejemplo:

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();
}
}
}

Descripción:

Método Valores de retorno Descripción
setRolePermissions(String token, String nodeId, String role, int permissions, boolean recursive) void Actualiza los permisos de rol en un nodo.
  • El parámetro recursive solo tiene sentido cuando el UUID es un nodo de carpeta o record.
  • Cuando el parámetro recursive es true, los cambios se aplicarán al nodo y a sus descendientes.

Ejemplo:

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();
}
}
}

Descripción:

Método Valores de retorno Descripción
getUserTenants(String token) List Devuelve la lista de todos los tenants a los que el usuario tiene acceso.

Ejemplo:

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();
}
}
}

Descripción:

Método Valores de retorno Descripción
setUserTenant(String token, long tenantId) void Cambia el tenant asignado a un usuario.

Ejemplo:

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();
}
}
}

Descripción:

Método Valores de retorno Descripción
isPasswordExpired(String token) Boolean Comprueba si la contraseña del usuario ha expirado.

Ejemplo:

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();
}
}
}

Descripción:

Método Valores de retorno Descripción
resetPassword(String userId) void Envía un correo con un enlace que, si el usuario lo pulsa, restablecerá la contraseña.

Ejemplo:

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();
}
}
}