パーシスタント OAuth サービスでの IBM DB2 の使用
パーシスタント OAuth サービスで IBM® DB2® を使用することができます。 便宜と参考の目的で、このトピックでは、OAuth パーシスタント・サービス用に DB2 を構成するために必要なステップについて説明します。
以下のステップを実行してください。
- データベースと表を作成します。
次の SQL ステップを編集、実行して、OAuth データベースおよび表を作成します。
デフォルトの DB2 listen ポートは 50000 です。 これを見つけるには、次のコマンドを実行し、SVCENAME パラメーターの値を探します。 値が数値の場合は、それがポート番号です。 値が名前の場合は、/etc/services ファイル (Windows を使用している場合は Windows の等価ファイル) でその名前を探します。-- Change oauth2db to the name you want for the database 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 ----- -- Change dbuser to the account you want to use to access your database -- GRANT ALL ON OAuthDBSchema.OAUTH20CACHE TO USER dbuser; -- GRANT ALL ON OAuthDBSchema.OAUTH20CLIENTCONFIG TO USER dbuser; ----- END OF GRANT PRIVILIGES ----- DISCONNECT CURRENT;
次のステートメントを実行して、DB2 でデータベースと表を作成することができます。Linux/Unix: db2 get dbm cfg | grep SVCENAME Windows: db2 get dbm cfg | findstr SVCENAME
db2 -tvf createTables.sql
- データ・ソースを構成します。
管理コンソールで、
に移動します。- 有効範囲を選択します。 このトピックでは server を使用します。
- をクリックします。ウィザードが開始します。
- 以下のパラメーターを選択します。
- データベース・タイプ: DB2
- プロバイダー・タイプ: DB2 Universal JDBC Driver Provider
- 実装タイプ: 接続プール・データ・ソース
- 「 」をクリックします。
- 以下のパラメーターを設定します。
- DB2_UNIVERSAL_JDBC_DRIVER_PATH: /home/ldapdb2/sqllib/java
- DB2_UNIVERSAL_JDBC_DRIVER_NATIVEPATH: /home/ldapdb2/sqllib/lib
- 「 」をクリックします。
- をクリックします。
- 構成を保存します。
- に移動します。
- 「 」をクリックします。
- 以下のパラメーターを設定します。
- 別名: oauthalias
- ユーザー ID: dbuser
トラブルの回避 (Avoid trouble): dbuser ユーザーは、最初に作成されたオペレーティング・システム・ユーザーです。gotcha
- パスワード: <dbuser のパスワード>
- 「 」をクリックします。
- 構成を保存します。
- に移動します。
- 有効範囲を選択します。 このトピックでは server を使用します。
- をクリックします。ウィザードが開始します。
- 以下のパラメーターを設定します。
- データ・ソース名: OAuth JDBC Service
- JNDI 名: jdbc/oauthProvider
- コンポーネント管理認証別名: <scope>/oauthalias
- 「 」をクリックします。
- 既存の JDBC プロバイダー (これは DB2 Universal JDBC Driver Provider であるはずです) を選択します。
- 「 」をクリックします。
- 以下のパラメーターを設定します。
- データベース名: oauth2db
- ドライバー・タイプ: 4
- サーバー名: <DB2 サーバー>
- ポート番号: <SVCENAME パラメーターに関する上記の情報を参照>
- コンテナー管理パーシスタンス: チェックします。
- 「 」をクリックします。
- をクリックします。
- 構成を保存します。
INSERT INTO OAuthDBSchema.OAUTH20CLIENTCONFIG
(
COMPONENTID,
CLIENTID,
CLIENTSECRET,
DISPLAYNAME,
REDIRECTURI,
ENABLED)
VALUES
(
'1',
'key',
'secret',
'My Client',
'https://localhost:9443/oauth/redirect.jsp',
1
)