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
-
Créez une app dans votre fournisseur OAuth 2.0 Dropbox.
-
Ouvrez un navigateur et accédez à
https://www.dropbox.com/developers.
-
Sélectionnez My Apps (Mes apps), puis cliquez sur Create app (Créer une app).
-
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.
-
Sur la page App Settings (Paramètres de l'app), cliquez sur Generated Access Token (Jeton d'accès généré).
-
Notez la valeur du jeton d'accès que vous avez créé.
-
Déconnectez-vous de votre session Dropbox.
-
Fournissez les clés SSL valides de l'hôte API Dropbox.
-
Connectez-vous à la console d'administration WebSphere® Application Server du proxy.
-
Sélectionnez et .
-
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.
-
Dans la section Propriétés supplémentaires, sélectionnez
Signer Certificates.
-
Cliquez sur Récupérer à partir du port.
-
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.
-
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.
-
Créez une entrée d'emplacement d'accréditation pour le jeton d'accès.
-
Connectez-vous au portail en tant qu'utilisateur administrateur.
-
Cliquez sur Ouvrir l'administrateur de portail, puis sélectionnez Coffre d'accréditation dans la section Accès.
-
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.
-
Cliquez sur OK pour créer le nouvel emplacement de coffre.
-
Créez une stratégie de connexion HTTP sortante pour la nouvelle ressource.
-
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>
-
Enregistrez le document dans un fichier. Par exemple, enregistrez le fichier sous
/tmp/global_oauth_update.xml.
-
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.
-
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.
-
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.
-
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.
-
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
Où
- 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.