¿Cómo puedo usar el ID de cliente / secreto de cliente para realizar la autenticación de requests por SOAP?
Entorno
Oracle Field Service (OFS)
Resolución
La autenticación usando Id de cliente / Secreto de cliente puede emplearse en SOAP API de manera similar que el nombre de usuario / contraseña.
Todos los clientes pueden usar Id de cliente / Secreto de cliente en lugar de nombre de usuario / contraseña para completar la estructura de autenticación de usuario con estas credenciales:
1. Registrar una aplicación
1.1. En la interfaz de Oracle Field Service, haga clic en Configuración y seleccione Aplicaciones.
1.2. Haga clic en Agregar aplicación, luego especifique el Tipo de aplicación, Nombre y toda la información necesaria. Una vez diligencie estos campos haga clic en OK.
1.3. Seleccionar la nueva aplicación y en la sección Configuración de autenticación, seleccione la casilla de verificación Autenticar mediante ID de cliente / Secreto de cliente.
1.4. Tome nota del ID de cliente y el secreto de cliente.
1.5. Clic en Guardar.
2. Configure las API que deberían estar disponibles para la aplicación creada
2.1. En la sección de Acceso a API, seleccione Agregar Nuevo (+).
2.2. Seleccione las API a las cuales tendrá acceso esta nueva aplicación.
2.3. Clic en Guardar.
Tenga en cuenta que algunas API requieren una configuración adicional con los campos / propiedades que se espera estén disponibles.
Ejemplo:
Para este ejemplo, se tomará sunrise_cable como la instancia/nombre de la empresa. Se asume que Client ID será 'test_app' y el secreto de cliente generado es '5634834a68becc7dce7faa4c26546058db5a68becc7dce7f'.
De acuerdo a nuestra documentación (Outbound Interface Entities and Structures) debería tenerse el siguiente resultado para el nodo <usuario>:
CURRENT_TIME = 2019-07-17T16:25:50-04:00
CLIENT_ID = test_app
CLIENT_SECRET = 5634834a68becc7dce7faa4c26546058db5a68becc7dce7f
INSTANCE_NAME = sunrise_cable
SHA256(CURRENT_TIME + SHA256(CLIENT_SECRET + SHA256(CLIENT_ID))) = 3e0faf3300d082506d92c340869c0694a2be120916970b1cdb6b96969a8167fb
<user>
<now>2019-07-17T16:25:50-04:00</now>
<login>test_app</login>
<company>sunrise_cable</company>
<auth_string>3e0faf3300d082506d92c340869c0694a2be120916970b1cdb6b96969a8167fb</auth_string>
</user>