
Con NetWeaver 7.50 SP25, el adaptador SAP PO/PI REST brinda soporte para la autenticación OAuth 2.0 en el lado del remitente según RFC 6749 «El marco de autorización de OAuth 2.0» (https://www.rfc-editor.org/rfc/rfc6749 ). Esto permite que los clientes REST que admiten el flujo de otorgamiento de Credenciales de cliente OAuth 2.0 autentiquen y accedan a los recursos REST proporcionados por el adaptador SAP PO/PI REST.
Esta publicación de blog proporciona una descripción detallada y un escenario de muestra de OAuth 2.0 para el canal REST Sender en SAP Process Integration/Process Orchestration.
Esta función se introdujo con SAP NetWeaver 7.50 SP25. El sistema debe estar en SP25 o superior. Los detalles se pueden encontrar en la nota SAP 3140397 y la nota SAP 3163712
El siguiente diagrama proporciona información sobre el flujo exacto de OAuth 2.0 en PO/PI REST Sender:
Diagrama de la funcionalidad OAuth 2.0 en el canal emisor PO/PI REST
0. Registrar usuario: un cliente debe registrarse mediante la interfaz de usuario del servidor REST OAuth. Se puede acceder a él en el Administrador de SAP NetWeaver -> SOA -> Supervisión -> Servidor REST OAuth. En esta etapa se registran los parámetros Client ID, Client Secret y Scope.
con los siguientes parámetros:
subvención_tipo – credenciales_cliente
Identificación del cliente – el registrado en el paso 0.
cliente_secreto – generado desde el paso 0.
alcance (opcional): el nombre del canal, para el cual se solicitará el token de acceso. Si se omite, se aplica a todos los canales para los que se asignó este cliente durante el paso 0.
Autorización: Portador
En esta sección, repasaremos la configuración requerida de principio a fin y crearemos juntos un escenario de muestra.
Los canales PO/PI REST Sender deben crearse, activarse e iniciarse en PO Channel Monitoring con OAuth 2.0 habilitado en el canal REST Sender.
El primer paso es crear un canal REST Sender y habilitar OAuth 2.0 seleccionando la casilla de verificación Habilitar autenticación OAuth 2.0 para solicitudes entrantes. Luego, debemos seleccionar el tipo de concesión OAuth 2.0; actualmente solo se admite la concesión de credenciales de cliente, por lo que esto es lo que seleccionamos. Guardar y activar el canal.
Descargo de responsabilidad: tenga en cuenta que el canal y su punto final se crean solo con fines de prueba y son valores de muestra. El punto final real debe ser el que requiera el escenario del cliente.
Instantánea del sistema de prueba de PO: configuración del canal REST Sender
Para este paso tenemos que ir a http://[host]:[port]/nwa para abrir el Administrador de SAP NetWeaver
Desde allí, debemos navegar a SOA -> Monitoreo -> Servidor REST OAuth -> Clientes y hacer clic en Crear cliente.
Instantánea del sistema de prueba de PO: administrador de SAP NetWeaver -> SOA -> Monitoreo -> Servidor REST OAuth
En este punto necesitamos completar los siguientes parámetros:
¡Importante! El secreto del cliente solo se mostrará una vez; asegúrese de registrarlo. De lo contrario, deberá generar un nuevo secreto de cliente mediante la opción Editar cliente.
¡Tenga en cuenta! Solo canales REST Sender con seleccionó Habilitar la casilla de verificación «Autenticación OAuth 2.0 para solicitudes entrantes» que se guardaron, activaron e iniciaron será visible en «Restringir a canales específicos».
Necesitas generar uno nuevo. Seleccione el cliente, haga clic en el botón Editar Cliente y luego en Generar Nuevo Secreto. Asegúrese de registrar el secreto de cliente actualizado y haga clic en el botón Guardar.
Instantánea del sistema de prueba de PO: edición de un cliente para generar un nuevo secreto de cliente
En este paso, llamamos al servidor de autorización en la URL: http://
Instantánea de Postman: obtener un token con alcance
O
Instantánea de Postman – Obtención de un token sin alcance
Usando el siguiente formato de consulta:
grant_type=client_credentials&client_id=
o
grant_type=client_credentials&client_id=
Donde los valores para client_id y client_secret son los que seleccionó anteriormente al crear el cliente en la interfaz de usuario del servidor REST OAuth.
El parámetro de alcance es opcional. El token de portador generado con esta llamada solo será válido para la autenticación cuando se intente llamar al canal especificado.
Si no se usa el parámetro de alcance, entonces, de forma predeterminada, el token generado se puede usar con todos los canales seleccionados en el paso Restringir a canales específicos al crear el cliente. Si el cliente no está restringido a ningún canal específico (la casilla de verificación se deja en blanco) y el parámetro de alcance no se usa, el token generado será válido para todos los canales de REST Sender con OAuth 2.0 habilitado.
Ahora podemos hacer una llamada al canal REST Sender y autenticarnos usando el token que acabamos de generar.
Instantánea de Postman: uso del token adquirido para la autenticación al llamar al canal REST Sender
El token debe pasarse como un encabezado HTTP con el formato Autorización: Portador
Incluimos el encabezado de Autorización en la solicitud HTTP y hacemos una llamada POST exitosa al canal REST Sender que creamos anteriormente.
Es posible verificar qué token ha caducado y eliminarlo yendo a
Administrador de SAP NetWeaver -> SOA -> Supervisión -> Servidor REST OAuth -> Tokens
El botón Eliminar seleccionado le permite eliminar tokens específicos, mientras que el botón Eliminar todos los caducados elimina automáticamente todos los tokens caducados.
Referencias:
Espero que este blog haya sido útil para comprender cómo se puede usar OAuth 2.0 en el canal REST Sender. Por favor, no dude en compartir sus comentarios o pensamientos en un comentario.
Documentación SAP:
https://help.sap.com/docs/SAP_NETWEAVER_750/5cf7d2de571a45cc81f91261668b7361/c60e02fc5abb47e6867ba5dab14af487.html
RFC 6749 «El marco de autorización de OAuth 2.0»:
https://www.rfc-editor.org/rfc/rfc6749
Para preguntas y respuestas relacionadas con SAP NetWeaver, consulte: https://answers.sap.com/tags/01200314690800000134
Para otras publicaciones de blog sobre SAP NetWeaver, consulte:
Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010
Paseo de la Reforma 26
Colonia Juárez, Cuauhtémoc
Ciudad de México 06600
Real Cariari
Autopista General Cañas,
San José, SJ 40104
Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073