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:
  1. 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:
    -- Ä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;
    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.
    Linux/Unix: db2 get dbm cfg | grep SVCENAME
    Windows:    db2 get dbm cfg | findstr SVCENAME
    Sie können in DB2 eine Datenbank und Tabelle erstellen, indem Sie die folgende Anweisung ausführen:
    db2 -tvf createTables.sql
  2. Konfigurieren Sie die Datenquelle.

    Wählen Sie in der Administrationskonsole Ressourcen > JDBC > JDBC-Provider aus.

    1. Wählen Sie einen Geltungsbereich aus. In diesem Artikel wird server verwendet.
    2. Klicken Sie auf Neu. Ein Assistent wird gestartet.
    3. Wählen Sie die folgenden Parameter aus:
      • Datenbanktyp: DB2
      • Providertyp: DB2 Universal JDBC Driver Provider
      • Implementierungstyp: Datenquelle für Verbindungspool
    4. Klicken Sie auf Weiter.
    5. Legen Sie die folgenden Parameter fest:
      • DB2_UNIVERSAL_JDBC_DRIVER_PATH: /home/ldapdb2/sqllib/java
      • DB2_UNIVERSAL_JDBC_DRIVER_NATIVEPATH: /home/ldapdb2/sqllib/lib
    6. Klicken Sie auf Weiter.
    7. Klicken Sie auf Fertig stellen.
    8. Speichern Sie die Konfiguration.
    9. Wählen Sie Sicherheit > Globale Sicherheit > Java Authentication and Authorization Service > J2C-Authentifizierungsdaten.
    10. Klicken Sie auf Neu.
    11. Legen Sie die folgenden Parameter fest:
      • Alias: oauthalias
      • Benutzer-ID: dbuser
        Fehler vermeiden Fehler vermeiden: Der Benutzer dbuser ist der ursprünglich erstellte Betriebssystembenutzer.gotcha
      • Kennwort: <Kennwort für dbuser>
    12. Klicken Sie auf OK.
    13. Speichern Sie die Konfiguration.
    14. Wählen Sie Ressourcen > JDBC > Datenquellen aus.
    15. Wählen Sie einen Geltungsbereich aus. In diesem Artikel wird server verwendet.
    16. Klicken Sie auf Neu. Ein Assistent wird gestartet.
    17. Legen Sie die folgenden Parameter fest:
      • Name der Datenquelle: OAuth JDBC Service
      • JNDI-Name: jdbc/oauthProvider
      • Komponentengesteuerter Authentifizierungsalias: <scope>/oauthalias
    18. Klicken Sie auf Weiter.
    19. Wählen Sie einen vorhandenen JDBC-Provider aus, bei dem es sich um den DB2 Universal JDBC Driver Provider handeln sollte.
    20. Klicken Sie auf Weiter.
    21. 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
    22. Klicken Sie auf Weiter.
    23. Klicken Sie auf Fertig stellen.
    24. Speichern Sie die Konfiguration.
    Sie können die Verbindung jetzt testen. Die Komponente funktioniert, wenn sie mit den JDBC-Plug-ins für OAuth konfiguriert ist.
Im folgenden Beispiel wird ein Client zu DB2 hinzugefügt:
INSERT INTO OAuthDBSchema.OAUTH20CLIENTCONFIG 
(
  COMPONENTID, 
  CLIENTID, 
  CLIENTSECRET, 
  DISPLAYNAME, 
  REDIRECTURI, 
  ENABLED ) 
VALUES 
(
  '1', 
  'key', 
  'secret', 
  'My Client', 
  'https://localhost:9443/oauth/redirect.jsp', 
  1
)

Symbol, das den Typ des Artikels anzeigt. Konzeptartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwbs_oauthdb2
Dateiname:cwbs_oauthdb2.html