Uso de IBM DB2 para el servicio OAuth persistente

IBM® DB2 se puede utilizar para servicios OAuth persistentes. Por razones de comodidad y de referencia, este tema describe los pasos necesarios para configurar DB2 para el servicio OAuth persistente.

Siga estos pasos:
  1. Cree una base de datos y tablas.
    Edite y ejecute la sentencia SQL siguiente para crear una base de datos OAuth y una tabla:
    -- Cambie oauth2db por el nombre que desee para la base de datos
    
    CREATE DATABASE oauth2db USING CODESET UTF8 TERRITORY US;
    CONNECT TO oauth2db;
    
    ----- CREAR TABLAS -----
    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
    );
    
    ----- AÑADIR RESTRICCIONES -----
    ALTER TABLE OAuthDBSchema.OAUTH20CACHE 
      ADD CONSTRAINT PK_LOOKUPKEY PRIMARY KEY (LOOKUPKEY);
    
    ALTER TABLE OAuthDBSchema.OAUTH20CLIENTCONFIG 
      ADD CONSTRAINT PK_COMPIDCLIENTID PRIMARY KEY (COMPONENTID,CLIENTID);
    
    ----- CREAR ÍNDICES -----
    CREATE INDEX OAUTH20CACHE_EXPIRES ON OAUTHDBSCHEMA.OAUTH20CACHE (EXPIRES ASC);
    
    ----- OTORGAR PRIVILEGIOS -----
    ----- ELIMINE LOS COMENTARIOS DE LAS LÍNEAS SIGUIENTES SI UTILIZA UNA CUENTA QUE NO SEA LA DEL ADMINISTRADOR PARA EL ACCESO A LA BD -----
    
    -- Cambie dbuser por la cuenta que desee utilizar para acceder a la base de datos
    -- GRANT ALL ON OAuthDBSchema.OAUTH20CACHE TO USER dbuser;
    -- GRANT ALL ON OAuthDBSchema.OAUTH20CLIENTCONFIG TO USER dbuser;
    
    ----- FIN DE OTORGAR PRIVILEGIOS -----
    
    DISCONNECT CURRENT;
    El puerto de escucha de DB2 predeterminado es 50000. Si desea encontrarlo, ejecute el mandato siguiente y localice el valor del parámetro SVCENAME. Si se trata de un número, es el número de puerto. Si se trata de un nombre, busque el nombre en el archivo /etc/services o el equivalente de Windows si está utilizando Windows.
    Linux/Unix: db2 get dbm cfg | grep SVCENAME
    Windows:    db2 get dbm cfg | findstr SVCENAME
    Puede crear una base de datos y tablas en DB2 ejecutando la siguiente sentencia:
    db2 -tvf createTables.sql
  2. Configure el origen de datos.

    En la consola administrativa, vaya a Recursos > JDBC > Proveedores de JDBC.

    1. Elija un ámbito. En este tema se utiliza server.
    2. Pulse Nuevo. Se iniciará un asistente.
    3. Seleccione los parámetros siguientes:
      • Tipo de base de datos: DB2
      • Tipo de proveedor: Proveedor del controlador JDBC de DB2 Universal
      • Tipo de implementación: Origen de datos de agrupación de conexiones
    4. Pulse Siguiente.
    5. Defina los parámetros siguientes:
      • DB2_UNIVERSAL_JDBC_DRIVER_PATH: /home/ldapdb2/sqllib/java
      • DB2_UNIVERSAL_JDBC_DRIVER_NATIVEPATH: /home/ldapdb2/sqllib/lib
    6. Pulse Siguiente.
    7. Pulse Finalizar.
    8. Guarde la configuración.
    9. Vaya a Seguridad > Seguridad global > Servicios de autenticación y autorización Java > Datos de autenticación J2C.
    10. Pulse Nuevo.
    11. Defina los parámetros siguientes:
      • Alias: oauthalias
      • ID de usuario: dbuser
        Avoid trouble Avoid trouble: El usuario dbuser es el usuario del sistema operativo que ha creado originalmente. gotcha
      • Contraseña: <contraseña de dbuser>
    12. Pulse Aceptar.
    13. Guarde la configuración.
    14. Vaya a Recursos > JDBC > Orígenes de datos.
    15. Elija un ámbito. En este tema se utiliza server.
    16. Pulse Nuevo. Se iniciará un asistente.
    17. Defina los parámetros siguientes:
      • Nombre de origen de datos: Servicio JDBC OAuth
      • Nombre JNDI: jdbc/oauthProvider
      • Alias de autenticación gestionada por componentes: <scope>/oauthalias
    18. Pulse Siguiente.
    19. Seleccionar un proveedor de JDBC existente, que debe ser el Proveedor de controlador JDBC de DB2 Universal.
    20. Pulse Siguiente.
    21. Defina los parámetros siguientes:
      • Nombre de base de datos: oauth2db
      • Tipo de controlador: 4
      • Nombre de servidor: <servidor DB2>
      • Número de puerto: <consulte la información anterior sobre el parámetro SVCENAME>
      • Persistencia gestionada por contenedor: Seleccionado
    22. Pulse Siguiente.
    23. Pulse Finalizar.
    24. Guarde la configuración.
    Ahora puede probar la conexión. El componente funciona cuando se configura con los conectores JDBC para OAuth.
El ejemplo siguiente añade un cliente a DB2:
INSERT INTO OAuthDBSchema.OAUTH20CLIENTCONFIG 
(
  COMPONENTID, 
  CLIENTID, 
  CLIENTSECRET, 
  DISPLAYNAME, 
  REDIRECTURI, 
  HABILITADA
) 
VALUES 
(
  '1', 
  'key', 
  'secret', 
  'My Client', 
  'https://localhost:9443/oauth/redirect.jsp', 
  1
)

Icon that indicates the type of topic Concept topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwbs_oauthdb2
File name: cwbs_oauthdb2.html