SylpheoJekyll2016-03-16T15:57:30+00:00http://sylpheo.github.io/Sylpheohttp://sylpheo.github.io/contact@sylpheo.comhttp://sylpheo.github.io/blog/connect-drupal-salesforce2016-03-16T15:50:42+00:002016-03-16T15:50:42+00:00Marion Aubardhttp://sylpheo.github.iomarion.aubard@sylpheo.com
<h1 id="configuration-pralable-de-drupal">Configuration préalable de Drupal</h1>
<p>Il est possible de synchroniser les objets entre Salesforce et Drupal.
Activer <code class="highlighter-rouge">Update manager</code> dans les modules.
Pour cela sur Drupal, dans Importer un module, ajouter les modules suivants :</p>
<ul>
<li><a href="https://ftp.drupal.org/files/projects/salesforce-7.x-3.1.tar.gz">Salesforce Suite</a></li>
<li><a href="https://ftp.drupal.org/files/projects/ctools-7.x-1.9.tar.gz">Ctools</a></li>
<li><a href="https://ftp.drupal.org/files/projects/entity-7.x-1.6.tar.gz">Entity</a></li>
<li><a href="https://ftp.drupal.org/files/projects/libraries-7.x-2.2.tar.gz">Libraries</a></li>
<li><a href="https://ftp.drupal.org/files/projects/views-7.x-3.13.tar.gz">Views</a></li>
</ul>
<p>Il suffit ensuite de connecter les deux services entre eux.</p>
<h1 id="cration-dune-application-connecte-sur-salesforce">Création d’une application connectée sur Salesforce</h1>
<p>Sur Salesforce, créer une application connectée :</p>
<ul>
<li><code class="highlighter-rouge">Setup > Create > App > New Connected App</code></li>
<li><code class="highlighter-rouge">Enable OAuth settings</code></li>
<li><code class="highlighter-rouge">Callback URL</code> : l’URL de Drupal (exemple : http://localhost/drupal/salesforce/oauth_callback)</li>
<li>
<p><code class="highlighter-rouge">Selected OAuth scopes</code></p>
<ul>
<li><code class="highlighter-rouge">Perform requests on your behalf at any time</code></li>
<li><code class="highlighter-rouge">Access and manage your data</code></li>
<li><code class="highlighter-rouge">Access your basic information</code></li>
</ul>
</li>
</ul>
<h1 id="configurer-salesforce-sur-drupal">Configurer Salesforce sur Drupal</h1>
<p>Sur Drupal, après avoir installé les modules, configurer Salesforce</p>
<ul>
<li><code class="highlighter-rouge">Modules > Salesforce API > Configurer > Authorize</code></li>
<li>Ajouter les consumer et client keys de l’application connectée précédemment créée.</li>
<li>Dans <code class="highlighter-rouge">Advanced</code>, mettre l’URL de connexion (https://login.salesforce.com ou portail de la communauté)</li>
<li>Cliquer sur <code class="highlighter-rouge">Authorize</code></li>
</ul>
<h1 id="interfacer-le-modle-de-donnes-drupal-avec-celui-de-salesforce">Interfacer le modèle de données Drupal avec celui de Salesforce</h1>
<p>Sur Drupal, créer ensuite un mapping entre objet Salesforce et Drupal :</p>
<ul>
<li><code class="highlighter-rouge">Modules > Salesforce Mapping > Configurer > add salesforce mapping</code></li>
<li>Choisir une entité Drupal et un objet Salesforce</li>
<li>Ajouter un mapping entre un champ de l’objet Drupal, et un de Salesforce. Attention, côté Salesforce, il faut que ce soit un external id.</li>
<li>Choisir la méthode de synchronisation</li>
</ul>
<p><a href="http://sylpheo.github.io/blog/connect-drupal-salesforce/">Connecter Drupal et Salesforce</a> was originally published by Sylpheo at <a href="http://sylpheo.github.io">Sylpheo</a> on March 16, 2016.</p>
http://sylpheo.github.io/blog/android-db2016-03-16T15:46:01+00:002016-03-16T15:46:01+00:00Marion Aubardhttp://sylpheo.github.iomarion.aubard@sylpheo.com
<ul>
<li>Localiser <strong>adb</strong>. Soit il est installé et peut-être accédé directement dans le terminal via <strong>adb</strong> ou utilisé de la manière suivante :
<code class="highlighter-rouge">cd /Users/marion/Library/Android/sdk/platform-tools</code></li>
<li>Utiliser la commande <code class="highlighter-rouge">shell</code> :
<code class="highlighter-rouge">./adb shell</code>
ou
<code class="highlighter-rouge">adb shell</code></li>
<li>Ouvrir <code class="highlighter-rouge">sqlite3</code> sur la base de données souhaitée. Pour savoir laquelle utiliser, ouvrir le <strong>ADM (Android Device Monitor)</strong> et rechercher le chemin de la base de données. Cela donne un résultat de la forme :
<code class="highlighter-rouge">sqlite3 /data/data/com.marion.whiteladder/databases/Area.db</code></li>
<li>Utiliser ensuite des requêtes SQL pour alimenter la base ou récupérer ses informations.</li>
</ul>
<p><a href="http://sylpheo.github.io/blog/android-db/">Accéder à la base de données sqlite sur un périphérique Android via adb</a> was originally published by Sylpheo at <a href="http://sylpheo.github.io">Sylpheo</a> on March 16, 2016.</p>
http://sylpheo.github.io/blog/salesforce-identity2016-03-16T15:42:48+00:002016-03-16T15:42:48+00:00Marion Aubardhttp://sylpheo.github.iomarion.aubard@sylpheo.com
<p><strong>Salesforce Identity</strong> est un <strong>IAM</strong> à travers la plate-forme Salesforce. <strong>IAM (Identity and Access Management)</strong> permet de contrôler l’accès aux utilisateurs sur des ordinateurs. Cela peut aller de l’authentification à la récupération de données descriptives sur les utilisateurs.
Salesforce Identity permet d’améliorer l’utilisation de la plate-forme grâce au <strong>SSO</strong> des utilisateurs finaux, à simplifier l’administration grâce à l’automatisation de l’identité de l’utilisateur et de ses droits d’accès.</p>
<p>Ce schéma résume l’utilité de Salesforce Identity :</p>
<p><img src="/images/sf-identity-flow.png" alt="Flux de Salesforce Identity" /></p>
<p><a href="http://sylpheo.github.io/blog/salesforce-identity/">Salesforce Identity</a> was originally published by Sylpheo at <a href="http://sylpheo.github.io">Sylpheo</a> on March 16, 2016.</p>
http://sylpheo.github.io/blog/sso2016-03-16T15:13:39+00:002016-03-16T15:13:39+00:00Marion Aubardhttp://sylpheo.github.iomarion.aubard@sylpheo.com
<p>Le <strong>SSO (Single Sign On)</strong> permet à l’utilisateur de s’authentifier une seule fois pour accéder à plusieurs services, il n’a donc pas besoin de saisir une multitude de mots de passe.</p>
<p>Cela se fait principalement grâce au <strong>LDAP</strong> et à des bases de données LDAP sur un serveur.</p>
<p>Attention, le SSO ne doit pas être confondu avec d’autres schémas d’authentification comme <strong>OpenID</strong> ou <strong>OAuth</strong>. Dans ces deux cas, l’utilisateur doit tout de même saisir ses identifiants à chaque fois qu’il utilise une application.</p>
<h1 id="configurations-que-lon-retrouve-principalement">Configurations que l’on retrouve principalement</h1>
<h2 id="kerberos-based">Kerberos based</h2>
<p>L’utilisateur s’authentifie une fois et obtient un ticket appelée <strong>TGT (Ticket-granting ticket)</strong>. Les applications ayant besoin d’authentification utilisent ce ticket.
Sur <strong>Windows</strong>, les applications <strong>Active Directory</strong> peuvent utiliser les tickets. Active Directory utilise LDAP. Active Directory est géré sur Windows Server et permet de gérer un domaine et des utilisateurs. Dans un parc informatique, un utilisateur est lié à un compte et récupère son environnement quand il est connecté.
Dans les environnements <strong>Unix/Linux</strong>, il faut se logger via un Kerberos <strong>PAM (Pluggable Authentication Module)</strong>. Ces modules intègrent des schémas d’authentification de bas-niveau via une API de haut-niveau.
<strong>Firefox</strong> et <strong>SVN</strong> utilisent par exemple des tickets.</p>
<h2 id="smart-card-based">Smart card based</h2>
<p>L’utilisateur s’authentifie une seule fois et les données d’authentification sont stockées sur la carte.</p>
<h2 id="integrated-windows-authentication-iwa">Integrated Windows Authentication (IWA)</h2>
<p>Ce terme est associé aux produits Windows. Il réfère à plusieurs protocoles d’authentification comme <strong>Kerberos</strong>. Il s’utilise surtout en interconnexion avec Internet Explorer. Il s’est étendu via la plate-forme <strong>Active Directory</strong> pour le rendre portable sur Mac, Unix/Linux.</p>
<h2 id="security-assertion-markup-language-saml">Security Assertion Markup Language (SAML)</h2>
<p><strong>SAML</strong> permet d’échanger des informations de sécurité entre un utilisateur, un fournisseur d’identité et un fournisseur d’accès. L’encryption se fait à l’aide d’un fichier XML. <strong>Il utilise le SSO via un navigateur web</strong>. Le SSO se situe au niveau de l’intranet, par les cookies par exemple.
Il y a trois entités à prendre en compte :</p>
<ul>
<li>L’utilisateur - the <strong>principal</strong></li>
<li>Le fournisseur d’identité (identity provider) - <strong>idP</strong></li>
<li>Le fournisseur d’accès (service provider) - <strong>SP</strong></li>
</ul>
<p><img src="/images/sso.png" alt="Représentation du SSO" /></p>
<p>Le scénario d’utilisation est le suivant :</p>
<ul>
<li>L’utilisateur demande un service au fournisseur d’accès.</li>
<li>Le fournisseur d’accès vérifié les informations d’identité grâce au fournisseur d’identité.</li>
<li>Suivant la réponse, le fournisseur d’accès peut contrôler l’accès, c’est-à-dire fournir le service à l’utilisateur connecté.</li>
</ul>
<p>Le fournisseur d’identité demande des informations à l’utilisateur (nom d’utilisateur, mot de passe) pour l’authentifier. SAML spécifie les assertions entre les trois parties, plus précisément entre l’idP et le SP. Une identité peut être liée à plusieurs services grâce au SAML. De la même manière, un SP peut être relié à plusieurs idP.
SAML ne donne pas de spécifications précises sur la méthode de connexion : cela peut-être un couple nom d’utilisateur-mot de passe ou une authentification à multiple facteurs. Active Directory peut être un moyen de se connecter lui aussi.</p>
<h2 id="enterprise-sso-esso">Enterprise SSO (ESSO)</h2>
<p>Les agents sont installés sur chaque poste de travail.</p>
<p><a href="http://sylpheo.github.io/blog/sso/">SSO (Single Sign-On)</a> was originally published by Sylpheo at <a href="http://sylpheo.github.io">Sylpheo</a> on March 16, 2016.</p>