Adding or changing endpoint URL settings

Parfois, une URL doit inclure des paramètres de requête ou des données de formulaires POST qui ne sont pas connues ou qui ne peuvent pas être connues au niveau du site du client. Par exemple, une clé d'API pour un service REST, ou un code d'application comme une clé Google Maps. La fonctionnalité de transformation d'URL des services de connexion sortants peut répondre à ce besoin.

La fonctionnalité de transformation d'URL est utilisée pour :
  • Ajouter des paramètres de requête d'URL ou du contenu de corps POST.
  • Modifier des paramètres de requête d'URL ou du contenu de corps POST.
  • Ajouter ou modifier des paramètres de chemin d'URL

La transformation d'URL est activée au moyen d'un paramètre de métadonnée.

url_transformation.add_request_query_param

Ce paramètre ajoute un paramètre de requête à l'URL distante. La valeur de métadonnée contient une ou plusieurs définitions de paramètre de requête ajoutées à l'URL du paramètre de requête.

Par exemple,
<policy url="http://mysite.com/test1*" >
     <actions><method>GET</method></actions>
     <!­­ Add a simple key­value pair to the query string ­­>
     <meta­data>
          <name>url_transformation.add_request_query_param</name>
          <value>k=123abc</value>
     </meta­data>
</policy>
Ce paramètre de transformation ajoute le paramètre de requête ?k=123abc à l'URL distante.
  • L'URL http://mysite.com/test1/ est remplacée par http://mysite.com/test1/?k=123abc.
  • The URL http://mysite.com/test1/?someKey=aValue is changed to http://mysite.com/test1/?someKey=aValue&k=123abc
<policy url="http://mysite.com/test2*" >
     <actions><method>GET</method></actions>
     <!­­ Append a query string that contains credential vault secrets­­>
     <meta­data>
          <name>url_transformation.add_request_query_param</name>
          <value>key={**my_slot_id}</value>
     </meta­data>
</policy>
This transformation setting adds the query parameter ?k=the_secret to the remote URL. Ce paramètre représente le mot de passe stocké dans le coffre d'accréditation avec l'ID d'emplacement my_slot_id.
  • L'URL http://mysite.com/test2/ est transformée en http://mysite.com/test2/?key=some_secret_phrase.

url_transformation.add_post_body_form

Ce paramètre ajoute certaines données au corps POST. La valeur de la métadonnée contient du contenu supplémentaire ajouté au contenu de corps existant.

<policy url="http://mysite.com/test3*" >
     <actions><method>POST</method></actions>
     <!­­ Add a simple key­value pair to the postdata section ­­>
     <meta­data>
          <name>url_transformation.add_request_query_param</name>
          <value>name=JohnDoe</value>
     </meta­data>
</policy>

La paire nom-valeur name=JohnDoe est ajoutée au contenu POST. Nous partons du principe que le format du contenu POST est celui de l'URL encodée. La transformation de contenu POST dans un autre format n'est pas prise en charge.

url_transformation.add_url_path

Ce paramètre ajoute les données fournies au chemin de l'URL distante. La valeur de la métadonnée contient un ou plusieurs éléments de chemin de requête ajoutés au chemin d'URL existant.

<policy url="http://remoteportal.com/test4/portal*" >
     <actions><method>GET</method></actions>
     <!­­ Add a simple key­value pair to the path ­­>
     <meta­data>
          <name>url_transformation.add_url_path</name>
          <value>my_vp</value>
     </meta­data>
</policy>
  • L'élément du chemin est ajouté au chemin de l'URL my_vp
  • The URL http://remoteportal.com/test4/portal/ is changed to http://remoteportal.com/test4/portal/my_vp/

url_transformation.modify_request_query_param

Ce paramètre modifie les paramètres de requête de l'URL distante. La valeur du paramètre de métadonnée contient une chaîne de remplacement qui utilise le format s/regex/replacement/g, où regex correspond à une expression régulière, et replacement à la valeur à remplacer. Si la chaîne de remplacement contient le suffixe /g, la transformation remplace toutes les correspondances de regex dans le paramètre de requête de l'URL. Dans le cas contraire, la transformation remplace uniquement la première correspondance de regex.

Exemple :
<policy url="http://mysite.com/test5*" >
     <actions><method>GET</method></actions>
     <!­- Add a simple key­value pair to the query string ­­>
     <meta­data>
          <name>url_transformation.modify_request_query_param</name>
          <value>s/old/new/g</value>
     </meta­data>
</policy>
  • The URL http://mysite.com/test5/something?key=the_old_old_man is transformed to http://mysite.com/test5/something?key=the_new_new_man
<policy url="http://mysite.com/test6*" >
     <actions><method>GET</method></actions>
     <!­­ Add a simple key­value pair to the query string ­­>
     <meta­data>
          <name>url_transformation.modify_request_query_param</name>
          <value>s/old/new/</value>
     </meta­data>
</policy>
  • The URL http://mysite.com/test6/something?key=the_old_old_man is transformed to http://mysite.com/test6/something?key=the_new_old_man

url_transformation.modify_post_body_form

Ce paramètre modifie le formulaire des données POST de l'URL distante. Le paramètre de métadonnée peut être utilisé pour remplacer des parties du contenu de corps POST. La valeur de la métadonnée utilise le format s/regex/replacement/g, où regex correspond à une expression régulière, et replacement à la valeur à remplacer. If the replace string contains the suffix /g, the transformation replaces all matches of regex in the URL query parameter. Dans le cas contraire, la transformation remplace uniquement la première correspondance de regex.

<policy url="http://mysite.com/test7*" >
     <actions><method>POST</method></actions>
     <!­­ Add a simple key­value pair to the query string ­­>
     <meta­data>
          <name>url_transformation.modify_post_body_form</name>
          <value>s/old/new/g</value>
     </meta­data>
</policy>

url_transformation.modify_url_path

Ce paramètre modifie le chemin de l'URL distante. La valeur de la métadonnée contient une expression de remplacement pour le chemin d'URL qui doit être transformé. La valeur de remplacement utilise le format s/regex/replacement/g, où regex correspond à une expression régulière, et replacement à la valeur à remplacer. If the replace string contains the suffix /g, the transformation replaces all matches of regex in the URL query parameter. Dans le cas contraire, la transformation remplace uniquement la première correspondance de regex.

<policy url="http://mysite.com/test8/portal*" >
     <actions><method>GET</method></actions>
     <!­­ Add a simple key­value pair to the path ­­>
     <meta­data>
          <name>url_transformation.modify_url_path</name>
          <value>s/production/test/</value>
     </meta­data>
</policy>
  • The URL http://mysite.com/test8/production/ is changed to http://mysite.com/test8/test/
Remarque : Cette fonctionnalité ne prend pas en charge la transformation des parties de l'URL, qui sont pertinentes pour le traitement des cookies ou la résolution de modèle d'URL. Par exemple,

<policy url="http://mysite.com/invalid_example*" >
     <actions><method>GET</method></actions>
     <meta­data>
          <name>url_transformation.modify_url_path</name>
          <value>s/www.mysite.com/www.anothersite.com/</value>
     </meta­data>
</policy>