Vistas:
Pregunta:
¿Cómo se pueden evitar los errores 401 relacionados con la ausencia de licencias gratuitas al utilizar la API de DocuWare?
 
Respuesta:
En general, hay dos opciones. O bien utilizar cookies para mantener viva la sesión, o bien utilizar tokens para reutilizar la sesión anterior. El proceso para hacerlo se describe a continuación.
Autenticación:
Antes de poder utilizar la cookie/token se requiere una sesión inicial. Por lo tanto, la aplicación tiene que iniciar sesión en DocuWare. Para ello, envíe una solicitud post con los datos de autenticación al endpoint /Account/Logon. La respuesta contendrá al menos las dos cookies siguientes: .DWPLATFORMAUTH y DWPLATFORMBROWSERID.

LogOff:
Cuando se realiza un cierre de sesión a través del endpoint /Account/LogOff, el usuario cerrará la sesión de DocuWare. La cookie de sesión actual dejará de ser válida y no podrá utilizarse posteriormente. Esto significa que debe crearse una nueva sesión. Si se produce otro intento de inicio de sesión en el plazo de dos minutos y no hay ninguna licencia libre disponible, se devolverá el código de estado HTTP 401 con el mensaje "Ninguna de las licencias registradas está disponible para el cliente [nombre de usuario]".

Evite la respuesta 401:
Para evitar el código de estado 401, descrito anteriormente, se puede utilizar cualquiera de las siguientes opciones.

Mantenga la sesión activa mediante cookies:
Después del inicio de sesión, guarde la cookie .DWPLATFORMAUTH en un contenedor de cookies. Ahora, la cookie del contenedor de cookies se puede utilizar en todas las solicitudes siguientes a la API de DocuWare. Mientras no se cierre la sesión, la aplicación podrá utilizar la sesión anterior sin tener que volver a autenticarse y sólo utilizará una licencia de cliente. Utilice este método si la aplicación envía solicitudes a la API de DocuWare en un intervalo de tiempo irregular. El tiempo de vida de la cookie es de 20 años y debería funcionar siempre que no se cierre la sesión.

Reconexión en dos minutos mediante un token:
A veces es necesario volver a conectarse a la API de DocuWare en los dos minutos siguientes a la llamada al punto final /Account/LogOff. Para evitar el error 401, se puede utilizar un token, en lugar de mantener viva la sesión mediante la cookie. El token puede crearse antes de cerrar la sesión llamando al endpoint /Organizations/LoginToken mediante el método post. Esta llamada requiere un cuerpo, en el que se especifican el producto de destino, el uso (Multi, Single) y el tiempo de vida. Eche un vistazo al siguiente cuerpo JSON de ejemplo para crear un token:

{

"TargetProducts":["PlatformService"],
"Usage": "Multi"
,

"Lifetime":"1.00:00:00"
}

La respuesta contendrá el token proporcionado por la plataforma. Después, la autenticación puede realizarse enviando el token vía post a /Account/TokenLogOn. Este método de autenticación permite reutilizar la licencia de usuario, que estaba en uso antes de la operación de cierre de sesión. El token tiene un tiempo de vida, que se puede establecer, al solicitar el token (parámetro Lifetime). La mayoría de las aplicaciones DocuWare (por ejemplo, Desktop Apps) utilizan un token con una vida útil de 365 días. Para repetir este proceso, es importante crear un nuevo token antes de cerrar la sesión y utilizar siempre el token más reciente para realizar la operación de inicio de sesión.
 
KBA es aplicable tanto a organizaciones en la nube como locales.
 
Tenga en cuenta: Este artículo es una traducción del idioma inglés. La información contenida en este artículo se basa en la(s) versión(es) original(es) del producto(s) en inglés. Puede haber errores menores, como en la gramática utilizada en la versión traducida de nuestros artículos. Si bien no podemos garantizar la exactitud completa de la traducción, en la mayoría de los casos, encontrará que es lo suficientemente informativa. En caso de duda, vuelva a la versión en inglés de este artículo.
Comentarios (0)