将 Derby 数据库用于持久 OAuth 服务
可以将 Derby 数据库用于持久 OAuth 服务。为了方便起见和供您参考,本主题说明了为 OAuth 持久服务配置 Derby 数据库(相对于 OAuth 服务而言处于远程位置或本地位置)时需要执行的步骤。
完成以下步骤:
- 创建数据库和表。编辑并运行以下 SQL 语句以创建 OAuth 数据库和表:
通过使用以下命令启动 ij 来运行 createTables.sql 文件:--- Change oauth2db to the name you want for the database --- Connect to Derby, choose one connection option by uncomment --- if connecting to Derby as network server --- CONNECT 'jdbc:derby://localhost:1527/oauth2db;create=true'; --- if connecting to embedded derby, you can change D:\oauth2db to location of database --- CONNECT 'jdbc:derby:D:\oauth2db;create=true'; --- if creating tables in existing Derby database, remove the create=true parameter. ----- 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); DISCONNECT CURRENT;
ij createTables.sql
- 配置 WebSphere® Application Server。
在管理控制台中,转至
。- 选取范围。本主题中使用 server。
- 单击 。将启动一个向导。
- 选择下列参数:
- 数据库类型:Derby
- 提供程序类型:Derby JDBC 提供程序
- 实现类型:连接池数据源
- 单击 。
- 单击 。
- 保存配置。
- 转至 。
- 选取范围。本主题中使用 server。
- 单击 。将启动一个向导。
- 选择下列参数:
- 数据源名称:OAuth JDBC 服务
- JNDI 名称:jdbc/oauthProvider
- 单击 。
- 选择您所创建的 Derby JDBC 提供程序。
- 单击 。
- 选择下列参数:
- 数据库名称:<Derby 嵌入式数据库的路径,例如,D:\oauth2db>
- 容器管理的持久性:已选中
- 单击设置安全性别名页面中的设置保持不变。 。让
- 单击 。
- 单击 。
- 保存配置。