<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Salesforce on Java &amp; Moi</title><link>https://javaetmoi.com/tags/salesforce/</link><description>Recent content in Salesforce on Java &amp; Moi</description><generator>Hugo</generator><language>fr</language><lastBuildDate>Sat, 06 Nov 2021 16:53:05 +0000</lastBuildDate><atom:link href="https://javaetmoi.com/tags/salesforce/feed.xml" rel="self" type="application/rss+xml"/><item><title>Configuration Spring Security d’un client de l’API REST Salesforce sécurisée avec OAuth 2.0</title><link>https://javaetmoi.com/2021/11/configuration-spring-security-dun-client-de-lapi-rest-salesforce-securisee-avec-oauth-2-0/</link><pubDate>Sat, 06 Nov 2021 16:53:05 +0000</pubDate><guid isPermaLink="false">https://javaetmoi.com/?p=2138</guid><description>&lt;h2 id="contexte"&gt;Contexte&lt;/h2&gt;
&lt;p&gt;De nos jours, il est courant de devoir &lt;strong&gt;consommer&lt;/strong&gt; une &lt;strong&gt;API REST sécurisée&lt;/strong&gt; à l’aide du standard &lt;strong&gt;OAuth 2.0&lt;/strong&gt; ou de sa surcouche &lt;strong&gt;OpenID Connect&lt;/strong&gt; (OIDC). &lt;br&gt;Schématiquement, le consommateur génère un &lt;strong&gt;jeton (token)&lt;/strong&gt; opaque ou JWT en appelant un serveur d’autorisation (Authorization server) puis, à chaque appel d’API REST, le transmet en tant que bearer via l’ &lt;strong&gt;en-tête HTTP&lt;/strong&gt; &lt;strong&gt;Authorization&lt;/strong&gt;. Ce token a souvent une &lt;strong&gt;durée de vie&lt;/strong&gt; transmise par le serveur d’autorisation via la propriété &lt;strong&gt;expires_in&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;OAuth 2.0 propose quatre cinématiques (flows), la plus commune étant l’Authorization Code Flow. Lorsque l’API REST est appelée depuis une application web, il est courant de voir utiliser le Client Credentials Flow ou le &lt;strong&gt;&lt;a href="https://www.oreilly.com/library/view/getting-started-with/9781449317843/ch04.html"&gt;Resource&lt;/a&gt;&lt;/strong&gt; &lt;strong&gt;&lt;a href="https://www.oreilly.com/library/view/getting-started-with/9781449317843/ch04.html"&gt;Owner Password Credentials Flow&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Récemment, j’ai été amené à &lt;strong&gt;consommer l’API REST du&lt;/strong&gt; &lt;strong&gt;CRM Salesforce&lt;/strong&gt; &lt;strong&gt;depuis une application Spring Boot&lt;/strong&gt;. Cette API était sécurisée avec le Resource Owner password Credentials Flow. Salesforce joue à la fois le rôle de l’Authorization Server et du Resource Owner. Le client (l’application Spring Boot) transmet ses &lt;strong&gt;credentials&lt;/strong&gt; (login et mot de passe) à l’Authorization Server pour obtenir un &lt;strong&gt;Access Token&lt;/strong&gt;. &lt;br&gt;Cet article a pour objectif de vous présenter la &lt;strong&gt;configuration Spring Security&lt;/strong&gt; mise en œuvre pour appeler cette API. Les extraits de code proviennent du repository GitHub &lt;a href="https://github.com/arey/spring-security-oauth2-salesforce-sample"&gt;&lt;strong&gt;arey/spring-security-oauth2-salesforce-sample&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;</description></item></channel></rss>