지속적 OAuth 서비스를 위한 IBM DB2 사용
IBM® DB2®를 지속적 OAuth 서비스를 위해 사용할 수 있습니다. 편의성 및 참조 목적을 위해 이 주제는 OAuth 지속적 서비스에 대해 DB2를 구성하기 위해 필요한 단계를 문서화합니다.
다음 단계를 수행하십시오.
- 데이터베이스와 테이블을 작성하십시오. 다음 SQL문을 편집하고 실행하여 OAuth 데이터베이스 및 테이블을 작성하십시오.
기본 DB2 청취 포트는 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 드라이버 제공자
- 구현 유형: 연결 풀 데이터 소스
- 을 클릭하십시오.
- 다음 매개변수를 설정하십시오.
- DB2_UNIVERSAL_JDBC_DRIVER_PATH: /home/ldapdb2/sqllib/java
- DB2_UNIVERSAL_JDBC_DRIVER_NATIVEPATH: /home/ldapdb2/sqllib/lib
- 을 클릭하십시오.
- 를 클릭하십시오.
- 구성을 저장하십시오.
- 로 이동하십시오.
- 을 클릭하십시오.
- 다음 매개변수를 설정하십시오.
- 별명: oauthalias
- UserID: dbuser
문제점 방지: dbuser 사용자는 사용자가 원래 작성한 운영 체제 사용자입니다. gotcha
- 비밀번호: <dbuser의 비밀번호>
- 을 클릭하십시오.
- 구성을 저장하십시오.
- 로 이동하십시오.
- 범위를 선택하십시오. 이 주제는 server를 사용합니다.
- 을 클릭하십시오. 마법사가 시작합니다.
- 다음 매개변수를 설정하십시오.
- 데이터 소스 이름: OAuth JDBC Service
- JNDI 이름: jdbc/oauthProvider
- 컴포넌트 관리 인증 별명: <scope>/oauthalias
- 을 클릭하십시오.
- 기존 JDBC 제공자를 선택하십시오. 이것은 DB2 Universal JDBC 드라이버 제공자여야 합니다.
- 을 클릭하십시오.
- 다음 매개변수를 설정하십시오.
- 데이터베이스 이름: oauth2db
- 드라이버 유형: 4
- 서버 이름: <DB2 server>
- 포트 번호: <SVCENAME 매개변수에 대한 이전 정보 참조>
- 컨테이너 관리 지속성: 선택됨
- 을 클릭하십시오.
- 를 클릭하십시오.
- 구성을 저장하십시오.
INSERT INTO OAuthDBSchema.OAUTH20CLIENTCONFIG
(
COMPONENTID,
CLIENTID,
CLIENTSECRET,
DISPLAYNAME,
REDIRECTURI,
ENABLED
)
VALUES
(
'1',
'key',
'secret',
'My Client',
'https://localhost:9443/oauth/redirect.jsp',
1 )