3. Existing Functionality/Native Skill
Enable redirect URL in bot and allow the user to give consent
We are working on a use case for SAP Approval. There is a Approval API in SAP ECC System, and the approver name should be on the actual user who approves it.
To achieve the SSO we have configured Microsoft Azure AD as Identity Provider and SAP as Service Provider.
Below is the end-to-end process of a user authentication:
- The user is redirected to the Azure AD tenant’s authorization endpoint (https://login.microsoftonline.com/<TENANT_ID>/oauth2/v2.0/authorize) in order to authenticate and to acquire an access token for the API. The user has to enter their credentials and give consent to the requested permissions to access the API.
- Once the user is successfully authenticated, the redirect URI receives an access token for the API in response from the authorization endpoint. To allow the Azure AD authorization endpoint to issue an access token the OAuth2 implicit grant flow must be used.
- The user is now authenticated and the front-end has acquired an access token that can be used to call the API on behalf of the logged-on user. This token cannot be used to authorize the call to the backend service in SAP NetWeaver. Services in SAP only accept access tokens issued by their trusted OAuth Authorization Server. The SAP OAuth Authorization Server accepts the SAML Bearer Grant type, which allows the API in Microsoft Azure to request an OAuth access token from SAP with a SAML 2.0 assertion. Azure AD provides a SAML assertion by receiving an OAuth access token (issued by the Azure AD tenant to the authenticated user before) in exchange.
- The API App is using the SAML 2.0 assertion by sending a POST request to the SAP OAuth Authorization Server to receive Bearer token from SAP.
- Once the SAML assertion is exchanged with an access token, the final POST request can be sent to SAP e.g., service from SAP using the access token to authorize the call on behalf of the logged-in user in Azure.
How can we implement this flow through Moveworks creator studio, with the current capabilities how can we allow user to open a browser link from the bot and give the consent?