지속적 OAuth 서비스를 위한 SQL문

WebSphere® Application Server는 OAuth 토큰 및 클라이언트를 데이터베이스에서 지속하여 지속적 OAuth 2.0 서비스를 지원합니다. 지속적 OAuth 2.0 서비스를 사용하면 OAuth 서비스가 다시 시작된 후 권한 부여된 클라이언트가 OAuth 2.0 서비스에 액세스할 수 있습니다.

지속적 OAuth 2.0 서비스를 구성하려면 다음 단계를 수행해야 합니다.
  1. OAuth 2.0 서비스 제공자를 구성하십시오.

    OauthConfigSample.xml 템플리트 제공자 구성 파일에는 OAuth 클라이언트 등록을 위해 JDBC(Java™ Database Connectivity) 데이터베이스 저장소 구성을 위한 예제 매개변수가 들어 있습니다.

    1. 다음 행을 주석 처리하십시오.
      <parameter name="oauth20.client.provider.classname" type="cc" customizable="false">
        <value>com.ibm.ws.security.oauth20.plugins.BaseClientProvider</value>
      </parameter>
      <parameter name="oauth20.token.cache.classname" type="cc" customizable="false">
        <value>com.ibm.ws.security.oauth20.plugins.BaseCache</value>
      </parameter>
      <parameter name="oauth20.token.cache.jndi.tokens" type="ws" customizable="false">
        <value>services/cache/OAuth20MemTokenCache</value>
      </parameter>
      <parameter name="oauth20.token.cache.jndi.users" type="ws" customizable="false">
        <value>services/cache/OAuth20MemTokenOwnerCache</value>
      </parameter>
    2. 다음 행을 주석 해제하십시오.
      <!-- Example parameters for JDBC database stores -->
      <parameter name="oauth20.client.provider.classname" type="cc" customizable="false">
        <value>com.ibm.ws.security.oauth20.plugins.db.CachedDBClientProvider</value>
      </parameter>
      <parameter name="oauth20.token.cache.classname" type="cc" customizable="false">
        <value>com.ibm.ws.security.oauth20.plugins.db.CachedDBTokenStore</value>
      </parameter>
      <parameter name="oauthjdbc.JDBCProvider" type="ws" customizable="false">
        <value>jdbc/oauthProvider</value>
      </parameter>
      <parameter name="oauthjdbc.client.table" type="ws" customizable="false">
        <value>OAuthDBSchema.OAUTH20CLIENTCONFIG</value>
      </parameter>
      <parameter name="oauthjdbc.token.table" type="ws" customizable="false">
        <value>OAuthDBSchema.OAUTH20CACHE</value>
      </parameter>
      <parameter name="oauthjdbc.CleanupInterval" type="ws" customizable="true">
        <value>3600</value>
      </parameter>
      <parameter name="oauthjdbc.CleanupBatchSize" type="ws" customizable="true">
        <value>250</value>
      </parameter>
      <parameter name="oauth20.db.token.cache.jndi.tokens" type="ws" customizable="false">
        <value>services/cache/OAuth20DBTokenCache</value>
      </parameter>
      <parameter name="oauth20.db.token.cache.jndi.clients" type="ws" customizable="false">
        <value>services/cache/OAuth20DBClientCache</value>
      </parameter>
  2. OAuth 토큰 및 클라이언트를 저장할 데이터베이스 및 테이블을 설정하십시오.
    1. 지속적 OAuth 서비스를 위한 데이터베이스를 작성하십시오. 데이터베이스 작성을 위한 공급업체 문서를 참조하십시오. 이 주제에서는 OAuth에 대해 작성한 데이터베이스 이름이 D:\oauth2db라고 가정합니다.
    2. 다음 SQL문에 의해 정의되는 두 OAuth 테이블을 작성하십시오.
      ----- 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);
  3. WebSphere Application Server를 구성하십시오.

    WebSphere Application Server 데이터 소스를 구성하십시오. 데이터 소스 JNDI 이름을 jdbc/oauthProvider로 설정해야 합니다. JNDI 이름이 제공자 구성 파일에 있는 oauthjdbc.JDBCProvider 매개변수값과 일치해야 합니다. 첫 번째 단계에서 작성한 것과 일치하도록 데이터베이스 이름을 선택하십시오(예: D:\oauth2db).

    OAuth 지속적 서비스를 위한 DB2® 또는 Derby 구성이 포함됩니다. 이들을 다른 데이터베이스를 구성하기 위한 샘플 템플리트로 사용할 수 있습니다.

  4. 등록된 OAuth 클라이언트를 데이터베이스에 추가하십시오.

    클라이언트를 데이터베이스에 지속하려면 클라이언트를 데이터베이스에 저장해야 합니다. 다음 SQL문이 dbclient01dbclient02 OAuth 클라이언트를 Derby 데이터베이스에 추가합니다.
    CONNECT 'jdbc:derby:D:\oauth2db';
    INSERT INTO OAuthDBSchema.OAUTH20CLIENTCONFIG VALUES 
    (
      'OAuthConfigDerby', 
      'dbclient01', 
      'secret', 
      'dbclient01', 
      'http://localhost:9080/oauthclient/redirect.jsp', 
      1 ),
    (
      'OAuthConfigDerby', 
      'dbclient02', 
      'secret', 
      'dbclient02', 
      'http://localhost:9080/oauthclient/redirect.jsp', 
      1 );
    DISCONNECT CURRENT;

주제 유형을 표시하는 아이콘 개념 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwbs_oauthsql
파일 이름:cwbs_oauthsql.html