定义 OAuth 服务提供程序
使用提供者配置文件来定义 OAuth 服务提供程序。可以通过编辑 OAuthSampleConfig.xml 文件来定义 OAuth 服务提供程序。
OauthSampleConfig.xml 位于 WebSphere® Application Server 安装版本的 properties 目录中。可以复制和编辑此文件以定义 OAuth 服务提供程序。
每个参数都有可定制值 true(这意味着用户可以修改此变量)或者可定制值 false(这意味着用户通常不能更新此变量)。可使用 exportOAuthProps wsadmin 任务来导出可定制参数,可使用 importOAuthProps wsadmin 任务来导入可定制参数。否则,可定制属性对这些参数没有影响。可以根据您所在环境按需要来更新可定制参数值。
避免故障: 在内部使用参数类型 ws 或 cc,更新参数时可以忽略参数类型。gotcha

参数名称 | 值 | 描述 | 可定制 |
---|---|---|---|
oauth20.client.provider.classname | 客户机提供者实现类 | 对于内存客户机存储,使用值 com.ibm.ws.security.oauth20.plugins.BaseClientProvider。 | False |
oauth20.token.cache.classname | 令牌高速缓存实现类 | 对于内存令牌存储,使用值 com.ibm.ws.security.oauth20.plugins.BaseCache。 | False |
oauth20.token.cache.jndi.tokens | 按标识建立索引的令牌的动态高速缓存对象的 Java™ 命名和目录接口 (JNDI) 名称。 | 缺省值为 Services/cache/OAuth20MemTokenCache。请参阅“动态高速缓存配置”一节以了解用法详细信息。 | False |
oauth20.token.cache.jndi.users | 按用户建立索引的令牌的动态高速缓存对象的 JNDI 名称 | 缺省值为 Services/cache/OAuth20MemTokenOwnerCache。请参阅“动态高速缓存配置”一节以了解用法详细信息。 | False |
参数名称 | 值 | 描述 | 可定制 |
---|---|---|---|
oauth20.client.provider.classname | 客户机提供者实现类名 | 对于基于 JDBC 的客户机存储,使用值 com.ibm.ws.security.oauth20.plugins.db.CachedDBClientProvider。请参阅“数据库表”一节以了解有关数据库配置的详细信息。 | False |
oauth20.token.cache.classname | 令牌高速缓存实现类名 | 对于基于 JDBC 的令牌存储,使用值 com.ibm.ws.security.oauth20.plugins.db.CachedDBTokenStore。请参阅“数据库表”一节以了解有关数据库配置的详细信息。 | False |
oauthjdbc.JDBCProvider | JDBC 提供程序名称 | 请将此值设置为与 JDBC 提供程序相匹配,例如,jdbc/oauthProvider。 | False |
oauthjdbc.client.table | 用于 OAuth 客户机的表名 | 请将此值设置为与数据库表名相匹配,例如,OAuthDBSchema.OAUTH20CLIENTCONFIG。 | False |
oauthjdbc.token.table | 用于 OAuth 令牌的表名 | 请将此值设置为与数据库表名相匹配,例如,OAuthDBSchema.OAUTH20CACHE。 | False |
oauthjdbc.CleanupInterval | 到期令牌的清除时间间隔(以秒计) | 清除数据库令牌表中已到期的令牌时的延迟时间量(以秒计)。 | True |
oauthjdbc.LimitRefreshToken | 未使用 | 未使用 | True |
oauth20.db.token.cache.jndi.tokens | 令牌的动态高速缓存对象的 JNDI 名称 | 所指定名称的动态高速缓存所支持的数据存储,例如,services/cache/OAuth20DBTokenCache。请参阅“动态高速缓存配置”一节以了解用法详细信息。 | False |
oauth20.db.token.cache.jndi.client | 客户机的动态高速缓存对象的 JNDI 名称 | 所指定名称的动态高速缓存所支持的数据存储,例如,services/cache/OAuth20DBClientCache。请参阅“动态高速缓存配置”一节以了解用法详细信息。 | False |
参数名称 | 值 | 描述 | 可定制 |
---|---|---|---|
oauth20.max.authorization.grant.lifetime.seconds | 授权准予生存期(以秒计) | 授权准予保持有效的持续时间(以秒计),例如,604800。 | True |
oauth20.code.lifetime.seconds | 授权代码生存期(以秒计) | 在使用 OAuth 期间,授权代码保持有效的持续时间(以秒计),例如,60。 | True |
oauth20.code.length | 整数 | 所生成的 OAuth 授权代码的长度 | True |
oauth20.token.lifetime.seconds | 整数 | OAuth 访问令牌保持有效的时间(以秒计),通常是一个定制值 | True |
oauth20.access.token.length | 整数 | 所生成的 OAuth 访问令牌的长度 | True |
oauth20.issue.refresh.token | true 或 false | 如果值为 false,那么将禁止在 OAuth 提供程序中使用和生成新令牌 | True |
oauth20.refresh.token.length | 值的范围可以从 50 开始 | 缺省值为 50。 | True |
oauth20.access.tokentypehandler.classname | 可以指定任何 OAuth20 令牌处理程序。 | 缺省值为 com.ibm.ws.security.oauth20.plugins.BaseTokenHandler。类型为 cc。 | False |
oauth20.mediator.classnames | OAuth 介体的可选类名 | 请参阅“OAuth 介体”一节以了解详细信息。 | False |
oauth20.allow.public.clients | true 或 false | 如果值为 false,那么将禁止访问公用客户机(有关详细信息,请参阅 OAuth 规范)。 | True |
oauth20.grant.types.allowed | 其值可能为:authorization_code、password、refresh_tokens、client_credentials 或 implicit | 已启用的 OAuth 流的列表(有关详细信息,请参阅 OAuth 规范)。 | False |
oauth20.authorization.form.template | 所定制的授权模板的可选 URL | 如果您正在使用所定制的授权表单,请指定模板位置。 | True |
oauth20.authorization.error.template | 所定制的授权错误页模板的可选 URL | 如果您正在使用所定制的授权表单错误页,请指定模板位置。 | True |
oauth20.authorization.loginURL | 所定制的登录页面的可选 URL | 如果您正在使用所定制的登录页面,请指定登录 URL。 | True |
oauth20.audithandler.classname | OAuth 审计处理程序的类名 | 用于高级日志记录和审计的可选实现。缺省值为 com.ibm.oauth.core.api.audit.XMLFileOAuthAuditHandler。 | True |
oauth20.template.lifetime.seconds | 模板生存期(秒)。缺省值为 600。 | 这是模板应该保留在模板高速缓存中的时间。
oauth20.template.lifetime.seconds 将覆盖现有 JVM 系统属性 com.ibm.ws.security.oauth20.util.defaultTemplateLifetime 的任何设置。 |
|
oauth20.template.waitTime | 模板等待时间(以秒计)。缺省值为 120。 | 这是等待从远程服务器装入模板所用的时间。 | |
oauth20.template.connectTime | 模板连接时间(以秒计)。缺省值为 120。 | 这是等待服务器连接装入模板所用的时间。 | |
oauth20.template.readTime | 模板读时间(以秒计)。缺省值为 120。 | 这是留出的用于完成从远程服务器读取模板文档的时间。 | |
oauth20.template.count | 模板计数。缺省值为 3。 | 这是要同时获取的模板数。 | |
oauth20.grant.type.password.skip.validation | true 或 false,缺省值为 false | 值为 true 表示对密码授予类型禁用资源所有者验证。 | |
xmlFileAuditHandler.filename | 文件名 | 与缺省审计处理程序相对应的文件的名称。 | True |
参数名称 | 值 | 描述 | 可定制 |
---|---|---|---|
过滤器 | 可以使用任何过滤条件 | 有关详细信息,请参阅 TAI 配置参数和语法 | True |
oauthOnly | true 或 false | 示例 TAI 配置属性,用来限制仅对 OAuth 进行认证 (true),或者使用已启用的其他认证 (false)。有关详细信息,请参阅 TAI 配置参数。 | True |
参数名称 | 值 | 描述 | 可定制 |
---|---|---|---|
oauth20.autoauthorize.param | 任何字符串 | 要使用授权,必须将 autoauthorize 参数作为值为 true 的 URL 参数追加至请求。 | False |
oauth20.autoauthorize.clients | 已注册的客户机标识的列表 | 此列表中的客户机能够参与 autoauthorization。 | True |
参数名称 | 值 | 描述 | 可定制 |
---|---|---|---|
oauth20.client.uri.substitutions | 未使用 | 未使用 | False |
参数名称 | 值 | 描述 | 可定制 |
---|---|---|---|
oauth20.scope.preAuthorized | 任何字符串 | 对所有客户机指定的范围列表 | True |