Credenciales
Los objetos de credencial permiten usar la información de autenticación (como nombres de usuario, contraseñas o detalles de autenticación OAuth) de forma segura en varios entornos de ejecución de asignaciones. Es útil usar credenciales para asignaciones que requieren autenticación HTTP básica o autorización OAuth 2.0. Puede definir credenciales en MapForce y también en FlowForce Server. Las credenciales que defina en MapForce se pueden implementar en FlowForce Server de forma parecida a como se implementan las asignaciones.
Una vez haya compilado la asignación en un archivo de ejecución de MapForce Server (.mfx), MapForce Server lo ejecutará en función de las opciones que haya escogido al diseñar la asignación.
Si marcó la casilla Incluir credencial cifrada en el archivo .mfx y en la implementación de la asignación al crear la credencial en MapForce, al ejecutar la asignación MapForce Server usará cualquier credencial que haya almacenada en el archivo .mfx. Esto significa que puede ejecutar la asignación con un comando como este:
<exec> run mapping.mfx |
Donde <exec> es la ruta de acceso al ejecutable de MapForce Server. Esta ruta puede ser absoluta o, si el directorio actual es el mismo que el del ejecutable, también puede introducir solamente el nombre del ejecutable.
Si solamente introdujo el nombre de la credencial (sin nombre de usuario y contraseña) en MapForce, entonces debe suministrar estos detalles explícitamente en el momento de ejecución con la opción de la línea de comandos --credential para el comando run. De esta manera puede, por ejemplo, usar en producción unas credenciales distintas a las que usó al diseñar la asignación. La opción --credential tiene tiene la forma --credential=KEY:VALUE. donde
•KEY es el nombre de la credencial tal y como se definió en MapForce.
•VALUE puede ser una propiedad de credencial o una lista de propiedades separadas por el símbolo &. Las propiedades que se admiten para credenciales de tipo "contraseña" pueden ser username y password. Para credenciales de tipo OAuth 2.0 la única propiedad que se admite es oauth:token.
•Los valores que se vayan a usar para la propiedad se suministran igual que los parámetros de consulta en una URL, con el símbolo "=".
Por ejemplo:
<exec> run mapping.mfx --credential="mycredential:username=admin&password=4xJ38dnx7" |
En el fragmento de código anterior, el valor de la opción --credential está entre comillas para tratar al valor de forma literal, ya que el nombre de usuario y la contraseña están separados por un símbolo "&".
Si necesita varios pares de credenciales para ejecutar la asignación puede indicar la opción --credential varias veces.
Las credenciales suministradas como opciones de la línea de comandos tienen prioridad frente a las credenciales almacenadas. |
Si no marcó la casilla Incluir credencial cifrada en el archivo .mfx y en la implementación de la asignación, entonces no aparecerán los campos de información sensible. Esto significa que debe suministrar la contraseña en la línea de comandos y hacer referencia a la credencial por su nombre, por ejemplo:
<exec> run mapping.mfx --credential=mycredential:password=4xJ38dnx7 |
La información de estos campos se considera información sensible:
•Contraseña (para credenciales de tipo "contraseña") •Secreto del cliente, Token de acceso y Actualizar token (para credenciales de tipo "OAuth 2.0") |
En el caso de las asignaciones que necesitan OAuth 2.0, la línea de comandos de MapForce Server admite un token de acceso como entrada en el momento de ejecutar la asignación. Si va a trabajar con la línea de comandos debe obtener el token de acceso OAuth 2.0 de forma externa (por ejemplo, solicitándolo a MapForce), ya que la línea de comandos de MapForce Server no cuenta con una IGU. Sin embargo, si trabaja con MapForce bajo las órdenes de FlowForce Server, este último puede obtener por sí mismo un token de acceso OAuth 2.0 nuevo en tiempo de ejecución.
Se puede ejecutar la asignación en la línea de comandos con credenciales almacenadas siempre que el token OAuth 2.0 almacenado no haya expirado ni haya sido revocado por el proveedor de servicios web. Para usar esta opción debe suministrar un token de acceso OAuth 2.0 nuevo (obtenido por medios externos) usando --credential, por ejemplo:
<exec> run mapping.mfx --credential=my_oauth_credential:oauth:token=jdsaflkajlkewsaiurthczv904215-jhd |
Donde:
•my_oauth_credential es el nombre de la credencial OAuth creada desde MapForce.
•oauth:token es la forma de indicar a MapForce Server que se suministrará un token de acceso OAuth 2.0 nuevo en tiempo de ejecución.
API de MapForce Server
La API de MapForce Server permite crear credenciales, añadir propiedades a credenciales y cerrar credenciales una vez haya terminado de declararlos.El fragmento de código siguiente ilustra la forma más común de declarar credenciales de contraseña en un programa en C# que ejecuta una asignación:
//Crear un objeto de MapForce Server |
Para llevar a cabo autorizaciones OAuth 2.0 desde un programa que ejecuta una asignación, el nombre de la propiedad de la credencial se debe definir como oauth:token, como se ilustra a continuación:
//Crear un objeto de MapForce Server // Añadir las propiedades de la credencial // Cerrar la credencial |
Si una asignación necesita varios conjuntos de credenciales, use los métodos que hemos descrito más arriba para añadir cuantos conjuntos de credenciales necesite. Una vez haya declarado todas las credenciales, puede ejecutar el archivo de ejecución de la asignación como siempre, es decir llamando al método Run(). Para más información consulte la referencia de la API.