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:
- Cree una base de datos y tablas. Edite y ejecute la sentencia SQL siguiente para crear una base de datos OAuth y una tabla:
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.-- 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;
Puede crear una base de datos y tablas en DB2 ejecutando la siguiente sentencia:Linux/Unix: db2 get dbm cfg | grep SVCENAME Windows: db2 get dbm cfg | findstr SVCENAME
db2 -tvf createTables.sql
- Configure el origen de datos.
En la consola administrativa, vaya a
.- Elija un ámbito. En este tema se utiliza server.
- Pulse . Se iniciará un asistente.
- 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
- Pulse .
- Defina los parámetros siguientes:
- DB2_UNIVERSAL_JDBC_DRIVER_PATH: /home/ldapdb2/sqllib/java
- DB2_UNIVERSAL_JDBC_DRIVER_NATIVEPATH: /home/ldapdb2/sqllib/lib
- Pulse .
- Pulse .
- Guarde la configuración.
- Vaya a .
- Pulse .
- Defina los parámetros siguientes:
- Alias: oauthalias
- ID de usuario: dbuser
Avoid trouble: El usuario dbuser es el usuario del sistema operativo que ha creado originalmente. gotcha
- Contraseña: <contraseña de dbuser>
- Pulse .
- Guarde la configuración.
- Vaya a .
- Elija un ámbito. En este tema se utiliza server.
- Pulse . Se iniciará un asistente.
- 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
- Pulse .
- Seleccionar un proveedor de JDBC existente, que debe ser el Proveedor de controlador JDBC de DB2 Universal.
- Pulse .
- 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
- Pulse .
- Pulse .
- Guarde la configuración.
INSERT INTO OAuthDBSchema.OAUTH20CLIENTCONFIG
(
COMPONENTID,
CLIENTID,
CLIENTSECRET,
DISPLAYNAME,
REDIRECTURI,
HABILITADA
)
VALUES
(
'1',
'key',
'secret',
'My Client',
'https://localhost:9443/oauth/redirect.jsp',
1
)