IBM DB2 für persistenten OAuth-Service verwenden
IBM® DB2 kann für persistente OAuth-Services verwendet werden. Zu Ihrer Unterstützung und zu Referenzzwecken sind in diesem Artikel die Schritte dokumentiert, die zur Konfiguration von DB2 für persistenten OAuth-Service erforderlich sind.
Gehen Sie wie folgt vor:
- Erstellen Sie eine Datenbank und Tabellen. Bearbeiten Sie die folgende SQL-Anweisung und führen Sie sie aus, um eine OAuth-Datenbank und -Tabelle zu erstellen:
Der DB2-Standardempfangsport ist 50000. Wenn Sie ihn suchen möchten, führen Sie den folgenden Befehl aus, und stellen Sie fest, welchen Wert der Parameter SVCENAME hat. Wenn der Wert eine Zahl ist, ist es die Portnummer. Wenn der Wert ein Name ist, suchen Sie in der Datei /etc/services oder, falls Sie Windows verwenden, in der entsprechenden Windows-Datei nach dem Namen.-- Ändern Sie den Namen oauth2db in den gewünschten Namen für die Datenbank CREATE DATABASE oauth2db USING CODESET UTF8 TERRITORY US; CONNECT TO oauth2db; ----- Tabellen erstellen ----- 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 ); ----- Bedingungen hinzufügen ----- ALTER TABLE OAuthDBSchema.OAUTH20CACHE ADD CONSTRAINT PK_LOOKUPKEY PRIMARY KEY (LOOKUPKEY); ALTER TABLE OAuthDBSchema.OAUTH20CLIENTCONFIG ADD CONSTRAINT PK_COMPIDCLIENTID PRIMARY KEY (COMPONENTID,CLIENTID); ----- Indizes erstellen ----- CREATE INDEX OAUTH20CACHE_EXPIRES ON OAUTHDBSCHEMA.OAUTH20CACHE (EXPIRES ASC); ----- Berechtigungen erteilen ----- ----- Kommentarzeichen für folgende Zeilen entfernen, wenn für den DB-Zugriff ein anderer als der Administratoraccount verwendet wird ----- -- Ändern Sie dbuser in den Account, der für den Datenbankzugriff verwendet werden soll -- GRANT ALL ON OAuthDBSchema.OAUTH20CACHE TO USER dbuser; -- GRANT ALL ON OAuthDBSchema.OAUTH20CLIENTCONFIG TO USER dbuser; ----- Ende der Berechtigungserteilung ----- DISCONNECT CURRENT;
Sie können in DB2 eine Datenbank und Tabelle erstellen, indem Sie die folgende Anweisung ausführen:Linux/Unix: db2 get dbm cfg | grep SVCENAME Windows: db2 get dbm cfg | findstr SVCENAME
db2 -tvf createTables.sql
- Konfigurieren Sie die Datenquelle.
Wählen Sie in der Administrationskonsole
aus.- Wählen Sie einen Geltungsbereich aus. In diesem Artikel wird server verwendet.
- Klicken Sie auf . Ein Assistent wird gestartet.
- Wählen Sie die folgenden Parameter aus:
- Datenbanktyp: DB2
- Providertyp: DB2 Universal JDBC Driver Provider
- Implementierungstyp: Datenquelle für Verbindungspool
- Klicken Sie auf .
- Legen Sie die folgenden Parameter fest:
- DB2_UNIVERSAL_JDBC_DRIVER_PATH: /home/ldapdb2/sqllib/java
- DB2_UNIVERSAL_JDBC_DRIVER_NATIVEPATH: /home/ldapdb2/sqllib/lib
- Klicken Sie auf .
- Klicken Sie auf .
- Speichern Sie die Konfiguration.
- Wählen Sie .
- Klicken Sie auf .
- Legen Sie die folgenden Parameter fest:
- Alias: oauthalias
- Benutzer-ID: dbuser
Fehler vermeiden: Der Benutzer dbuser ist der ursprünglich erstellte Betriebssystembenutzer.gotcha
- Kennwort: <Kennwort für dbuser>
- Klicken Sie auf .
- Speichern Sie die Konfiguration.
- Wählen Sie aus.
- Wählen Sie einen Geltungsbereich aus. In diesem Artikel wird server verwendet.
- Klicken Sie auf . Ein Assistent wird gestartet.
- Legen Sie die folgenden Parameter fest:
- Name der Datenquelle: OAuth JDBC Service
- JNDI-Name: jdbc/oauthProvider
- Komponentengesteuerter Authentifizierungsalias: <scope>/oauthalias
- Klicken Sie auf .
- Wählen Sie einen vorhandenen JDBC-Provider aus, bei dem es sich um den DB2 Universal JDBC Driver Provider handeln sollte.
- Klicken Sie auf .
- Legen Sie die folgenden Parameter fest:
- Datenbankname: oauth2db
- Treibertyp: 4
- Servername: <DB2-Server>
- Portnummer: <siehe vorherige Information zum Parameter SVCENAME>
- Container Managed Persistence: Ausgewählt
- Klicken Sie auf .
- Klicken Sie auf .
- Speichern Sie die Konfiguration.
INSERT INTO OAuthDBSchema.OAUTH20CLIENTCONFIG
(
COMPONENTID,
CLIENTID,
CLIENTSECRET,
DISPLAYNAME,
REDIRECTURI,
ENABLED )
VALUES
(
'1',
'key',
'secret',
'My Client',
'https://localhost:9443/oauth/redirect.jsp',
1
)