1. Scenario

Diagram

2. Result

Table 1. Result

web call

api call

05.www

06.api

left

Appendix

Appendix A: Code

  #!/bin/sh

  echo ""
  echo settings env vars..

  export     TENANT_ID="536xxxxxxxxxxxxxxxxxxxxxccfd8b0"
  export     SERVER_ID="1b5xxxxxxxxxxxxxxxxxxxxx0deb5ff"
  export     CLIENT_ID="254xxxxxxxxxxxxxxxxxxxxx7c2319a"
  export CLIENT_SECRET="lMWxxxxxxxxxxxxxxxxxxxxxypoL3ni_dcf"
  export       SUB_KEY="a53xxxxxxxxxxxxxxxxxxxxx7cd"

  export         SCOPE="$SERVER_ID/.default"
  export        DOMAIN="antoxxxxxxxxxxxxxxbs.it"

  export SSH_KEY_PATH=$HOME/.ssh/azure-vm

  export ENDPOINT=https://api.$DOMAIN/external/api/books

  curl -X POST "https://login.microsoftonline.com/$TENANT_ID/oauth2/v2.0/token" \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -d "client_id=$CLIENT_ID&client_secret=$CLIENT_SECRET&grant_type=client_credentials&scope=$SCOPE" -i

  # get access_token
  export TOKEN=<access_token>

  # call web app
  export  BASEURL="https://$DOMAIN"
  curl -i -vvv --location "$BASEURL"

  # call api
  export  BASEURL="https://api.$DOMAIN"
  curl -i -vvv --location "$BASEURL/external/api/books" -H "Authorization: Bearer $TOKEN" -H "ocp-apim-subscription-key:$SUB_KEY"