Utilisation d'IBM DB2 pour le service OAuth permanent

Vous pouvez utiliser IBM® DB2 pour les services OAuth permanents. Pour des raisons pratiques, cette rubrique présente la procédure de configuration de DB2 pour le service permanent OAuth.

Effectuez les étapes suivantes :
  1. Créez une base de données et des tables.
    Editez et exécutez l'instruction SQL ci-dessous pour créer une base de données et une table OAuth :
    -- Remplacez oauth2db par le nom que vous souhaitez attribuer à la base de données
    
    CREATE DATABASE oauth2db USING CODESET UTF8 TERRITORY US;
    CONNECT TO oauth2db;
    
    ----- CREATE TABLES -----
    CREATE TABLE OAuthDBSchema.OAUTH20CACHE 
    (
      LOOKUPKEY VARCHAR(256) NOT NULL, 
      UNIQUEID VARCHAR(128) NOT NULL, 
      COMPONENTID VARCHAR(256) NOT NULL, 
      TYPE VARCHAR(64) NOT NULL, 
      SUBTYPE VARCHAR(64), 
      CREATEDAT BIGINT, 
      LIFETIME INT, 
      EXPIRES BIGINT, 
      TOKENSTRING VARCHAR(2048) NOT NULL, 
      CLIENTID VARCHAR(64) NOT NULL, 
      USERNAME VARCHAR(64) NOT NULL, 
      SCOPE VARCHAR(512) NOT NULL, 
      REDIRECTURI VARCHAR(2048), 
      STATEID VARCHAR(64) NOT NULL
    );
    
    CREATE TABLE OAuthDBSchema.OAUTH20CLIENTCONFIG 
    (
      COMPONENTID VARCHAR(256) NOT NULL, 
      CLIENTID VARCHAR(256) NOT NULL, 
      CLIENTSECRET VARCHAR(256), 
      DISPLAYNAME VARCHAR(256) NOT NULL, 
      REDIRECTURI VARCHAR(2048), 
      ENABLED INT
    );
    
    ----- ADD CONSTRAINTS -----
    ALTER TABLE OAuthDBSchema.OAUTH20CACHE 
      ADD CONSTRAINT PK_LOOKUPKEY PRIMARY KEY (LOOKUPKEY);
    
    ALTER TABLE OAuthDBSchema.OAUTH20CLIENTCONFIG 
      ADD CONSTRAINT PK_COMPIDCLIENTID PRIMARY KEY (COMPONENTID,CLIENTID);
    
    ----- CREATE INDEXES -----
    CREATE INDEX OAUTH20CACHE_EXPIRES ON OAUTHDBSCHEMA.OAUTH20CACHE (EXPIRES ASC);
    
    ----- GRANT PRIVILIGES -----
    ----- UNCOMMENT THE FOLLOWING IF YOU USE ANOTHER ACCOUNT OTHER THAN ADMINISTRATOR FOR DB ACCESS -----
    
    -- Remplacez dbuser par le compte que vous souhaitez utiliser pour accéder à votre base de données 
    -- GRANT ALL ON OAuthDBSchema.OAUTH20CACHE TO USER dbuser;
    -- GRANT ALL ON OAuthDBSchema.OAUTH20CLIENTCONFIG TO USER dbuser;
    
    ----- END OF GRANT PRIVILIGES -----
    
    DISCONNECT CURRENT;
    Le port d'écoute DB2 par défaut est 50000. Si vous souhaitez le rechercher, exécutez la commande suivante et recherchez la valeur du paramètre SVCENAME. S'il s'agit d'un numéro, il s'agit du numéro de port. S'il s'agit d'un nom, recherchez-le dans le fichier /etc/services ou son équivalent Windows si vous utilisez Windows.
    Linux/Unix: db2 get dbm cfg | grep SVCENAME
    Windows:    db2 get dbm cfg | findstr SVCENAME
    Vous pouvez créer une base de données et des tables dans DB2 en exécutant l'instruction suivante :
    db2 -tvf createTables.sql
  2. Configurez la source de données.

    Dans la console d'administration, accédez à Ressources > JDBC > Fournisseurs JDBC.

    1. Sélectionnez une portée. Cette rubrique utilise server.
    2. Cliquez sur Nouveau. Un assistant s'ouvre.
    3. Sélectionnez les paramètres suivants :
      • Type de base de données : DB2
      • Type de fournisseur : fournisseur de pilote JDBC DB2 Universal
      • Type d'implémentation : source de données du pool de connexions
    4. Cliquez sur Suivant.
    5. Définissez les paramètres suivants :
      • DB2_UNIVERSAL_JDBC_DRIVER_PATH : /home/ldapdb2/sqllib/java
      • DB2_UNIVERSAL_JDBC_DRIVER_NATIVEPATH : /home/ldapdb2/sqllib/lib
    6. Cliquez sur Suivant.
    7. Cliquez sur Terminer.
    8. Enregistrez la configuration.
    9. Accédez à Sécurité > Sécurité globale > Java Authentication and Authorization Service > Données d'authentification J2C.
    10. Cliquez sur Nouveau.
    11. Définissez les paramètres suivants :
      • Alias : oauthalias
      • ID utilisateur : dbuser
        Eviter les incidents Eviter les incidents: dbuser est l'utilisateur du système d'exploitation que vous avez créé à l'origine.gotcha
      • Mot de passe : <mot de passe de dbuser>
    12. Cliquez sur OK.
    13. Enregistrez la configuration.
    14. Accédez à Ressources > JDBC > Sources de données.
    15. Sélectionnez une portée. Cette rubrique utilise server.
    16. Cliquez sur Nouveau. Un assistant s'ouvre.
    17. Définissez les paramètres suivants :
      • Nom de la source de données : OAuth JDBC Service
      • Nom JNDI : jdbc/oauthProvider
      • Alias d'authentification géré par composant : <scope>/oauthalias
    18. Cliquez sur Suivant.
    19. Sélectionnez un fournisseur JDBC existant, qui doit être le fournisseur de pilote JDBC DB2 Universal.
    20. Cliquez sur Suivant.
    21. Définissez les paramètres suivants :
      • Nom de base de données : oauth2db
      • Type de pilote : 4
      • Nom du serveur : <DB2 server>
      • Numéro de port : <voir les précédentes informations relatives au paramètre SVCENAME>
      • Persistance CMP : vérifiée
    22. Cliquez sur Suivant.
    23. Cliquez sur Terminer.
    24. Enregistrez la configuration.
    Vous pouvez maintenant tester la connexion. Le composant fonctionne lorsqu'il est configuré avec les plug-ins JDBC pour OAuth.
L'exemple ci-dessous ajoute un client à DB2 :
INSERT INTO OAuthDBSchema.OAUTH20CLIENTCONFIG 
(
  COMPONENTID, 
  CLIENTID, 
  CLIENTSECRET, 
  DISPLAYNAME, 
  REDIRECTURI, 
  ACTIVE
) 
VALUES 
(
  '1', 
  'key', 
  'secret', 
  'My Client', 
  'https://localhost:9443/oauth/redirect.jsp', 
  1
)

Icône indiquant le type de rubrique Rubrique de concept



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwbs_oauthdb2
Nom du fichier : cwbs_oauthdb2.html