Configuration d'OAuth 2.0 pour Dropbox à l'aide de jetons d'accès stockés

Configurez l'accès OAuth 2.0 pour Dropbox à l'aide de jetons d'accès stockés Procédez comme suit pour configurer la connexion OAuth 2.0 d'une ressource Dropbox via le proxy Ajax.

Procédure

  1. Créez une app dans votre fournisseur OAuth 2.0 Dropbox.
    1. Ouvrez un navigateur et accédez à https://www.dropbox.com/developers.
    2. Sélectionnez My Apps (Mes apps), puis cliquez sur Create app (Créer une app).
    3. Sélectionnez l'API dropbox API. Choisissez le type d'accès dont vous avez besoin. Donnez un nom unique à votre app, puis cliquez sur Create App (Créer une app). Dropbox affiche le panneau App Settings (Paramètres de l'app) pour l'app que vous avez créée.
    4. Sur la page App Settings (Paramètres de l'app), cliquez sur Generated Access Token (Jeton d'accès généré).
    5. Notez la valeur du jeton d'accès que vous avez créé.
    6. Déconnectez-vous de votre session Dropbox.
  2. Fournissez les clés SSL valides de l'hôte API Dropbox.
    1. Connectez-vous à la console d'administration WebSphere® Application Server du proxy.
    2. Sélectionnez Sécurité > Certificat SSL et gestion des clés > Magasins de clés certificats.
    3. Cliquez sur le fichier de clés certifiées utilisé par le serveur Portal. En fonction de votre configuration et de votre topologie de sécurité, il peut s'agir de NodeDefaultTrustStore ou de CellDefaultTrustStore.
    4. Dans la section Propriétés supplémentaires, sélectionnez Signer Certificates.
    5. Cliquez sur Récupérer à partir du port.
    6. Saisissez content.dropboxapi.com en tant que valeur d'hôte et 443 en tant qu'adresse de port, puis saisissez un nom d'alias comme my_dropbox. Cliquez ensuite sur Récupérer les informations du signataire.
    7. Le certificat du signataire est chargé dans votre console d'administration WebSphere® Application Server. Cliquez sur OK pour ajouter le certificat à votre configuration WebSphere® Application Server, puis cliquez sur Enregistrer pour ajouter les paramètres au niveau de la configuration maître.
  3. Créez une entrée d'emplacement d'accréditation pour le jeton d'accès.
    1. Connectez-vous au portail en tant qu'utilisateur administrateur.
    2. Cliquez sur Ouvrir l'administrateur de portail, puis sélectionnez Coffre d'accréditation dans la section Accès.
    3. Cliquez sur Ajouter un emplacement de coffre. Saisissez MyAccessTokenCvSlot pour le nom de l'emplacement. Sélectionnez la ressource de coffre que vous souhaitez utiliser, ou créez une nouvelle ressource de coffre. Sélectionnez le paramètre Le coffre est partagé. Utilisez l'ID utilisateur partagé Bearer, puis définissez le jeton d'accès que vous avez noté à l'étape 1e.
    4. Cliquez sur OK pour créer le nouvel emplacement de coffre.
  4. Créez une stratégie de connexion HTTP sortante pour la nouvelle ressource.
    1. Créez le document XML suivant à l'aide d'un éditeur XML ou texte.
      
      <?xml version="1.0" encoding="UTF-8"?>
      <proxy-rules xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
       xsi:noNamespaceSchemaLocation="http://www.ibm.com/xmlns/prod/sw/http/outbound/proxy-config/2.0">
          <variables>
              <dynamic-policy name="dropbox-idp.urls">
                  <value>https://content.dropboxapi.com/*</value>
      		<value>https://api.dropboxapi.com/*</value>
      		<value>https://notify.dropboxapi.com/*</value>
              </dynamic-policy>
          </variables>
          <mapping contextpath="/myproxy" url="*">
      	<policy name="dropbox-idp.policy" url="{$dropbox-idp.urls}" >
      		<actions>
      			<method>GET</method>
      			<method>POST</method>
      			<method>PUT</method>
      		</actions>
                  <headers>
                     <header>Dropbox-API-Arg</header>
                  </headers>
      		<meta-data>
      			<name>SSO_OAUTH2_IDP</name>
      			<value>dropbox-idp</value>
      		</meta-data>
      
      		<meta-data>
      			<name>dropbox-idp.PARAM_NAME.1</name>
      			<value>GRANT_TYPE</value>
      		</meta-data>
      		<meta-data>
      			<name>dropbox-idp.PARAM_VALUE.1</name>
      			<value>token</value>
      		</meta-data>
      
      		<meta-data>
      			<name>dropbox-idp.PARAM_NAME.2</name>
      			<value>ACCESS_TOKEN</value>
      		</meta-data>
      		<meta-data>
      			<name>dropbox-idp.PARAM_VALUE.2</name>
      			<value>{$$MyAccessTokenCvSlot}</value>
      		</meta-data>
      
      	  </policy>
          </mapping>
      </proxy-rules>
    2. Enregistrez le document dans un fichier. Par exemple, enregistrez le fichier sous /tmp/global_oauth_update.xml.
    3. Appliquez la configuration à la configuration globale des connexions HTTP sortantes. Exécutez la tâche suivante pour exporter la configuration d'une connexion HTTP sortante vers un document XML.
      AIX: ./ConfigEngine.sh update-outbound-http-connection-config -DconfigFileName=/tmp/global_oauth_update.xml \
              -DWasPassword=password -DPortalAdminPwd=password 
      HP-UX: ./ConfigEngine.sh update-outbound-http-connection-config -DconfigFileName=/tmp/global_oauth_update.xml \
                -DWasPassword=password -DPortalAdminPwd=password 
      IBM i: ConfigEngine.sh update-outbound-http-connection-config -DconfigFileName=/tmp/global_oauth_update.xml \
              -DWasPassword=password -DPortalAdminPwd=password 
      Linux: ./ConfigEngine.sh update-outbound-http-connection-config -DconfigFileName=/tmp/global_oauth_update.xml \
                -DWasPassword=password -DPortalAdminPwd=password 
      Solaris: ./ConfigEngine.sh update-outbound-http-connection-config -DconfigFileName=/tmp/global_oauth_pdate.xml \
                  -DWasPassword=password -DPortalAdminPwd=password 
      Windows: ConfigEngine.bat update-outbound-http-connection-config -DconfigFileName=/tmp/global_oauth_update.xml \
                -DWasPassword=password -DPortalAdminPwd=password
      La ressource protégée est désormais prête à l'emploi.
  5. Testez la connexion. Pour tester la connexion à la ressource Dropbox via OAuth2, vous pouvez charger un fichier de test (par exemple une image jpg ou un fichier de texte brut) dans votre compte Dropbox. Téléchargez ensuite le fichier via le proxy Ajax à l'aide de CURL.
    1. Chargez une ressource de test dans votre dossier Dropbox : ouvrez un navigateur et accédez à https://www.dropbox.com/. Connectez-vous à l'aide de vos informations d'identification Dropbox.
    2. Cliquez sur le dossier Apps, puis cliquez sur le dossier de l'app que vous avez créée à l'étape 1c. Cliquez sur Importer des fichiers. Dans le sélecteur de fichiers, sélectionnez le fichier de test que vous souhaitez charger.
    3. Exécutez les deux commandes Curl suivantes pour tester la connexion :
      curl -c pc.jar "http://dx_host.com/wps/j_security_check? \
      j_username=portal_user&j_password=portal_pwd" 
      
      curl -b pc.jar \ "http://dx_host.com/wps/myproxy/https/content.dropboxapi.com/2/files/download" \
      --header "Dropbox-API-Arg: {\"path\": \"/test.jpg\"}" >result_drop.jpg
      • La variable dx_host.com correspond au nom d'hôte et au numéro de port du serveur Portal.
      • Les variables portal_user et portal_pwd correspondent aux informations d'identification de portail que vous souhaitez utiliser.
      • La variable /test.jpg correspond à la ressource de test que vous avez créée à l'étape 5b.