Definición de un proveedor de servicios OAuth
El proveedor de servicios OAuth se define con un archivo de configuración del proveedor. Puede definir un proveedor de servicios OAuth editando el archivo OAuthSampleConfig.xml.
El archivo OauthSampleConfig.xml se encuentra en el directorio de propiedades de la instalación de WebSphere Application Server. Puede copiar y editar este archivo para definir un proveedor de servicios OAuth.
Cada parámetro tiene un valor personalizable de true, lo que significa que esta variable está pensada para que los usuarios la modifiquen, o un valor personalizable de false, lo que significa que normalmente los usuarios no actualizan esta variable. Los parámetros personalizables se exportan utilizando la tarea exportOAuthProps de wsadmin y se pueden importar utilizando la tarea importOAuthProps de wsadmin. De lo contrario, el atributo personalizable no tiene ningún efecto sobre los parámetros. El valor del parámetro personalizable se puede actualizar según sea necesario en función del entorno.
Avoid trouble: El tipo de parámetro ws o cc se utiliza internamente y se puede ignorar al actualizar parámetros. gotcha

Nombre del parámetro | Valor | Descripción | Personalizable |
---|---|---|---|
oauth20.client.provider.classname | Clase de implementación del proveedor de cliente | Para el almacén de clientes en memoria, utilice el valor com.ibm.ws.security.oauth20.plugins.BaseClientProvider. | False |
oauth20.token.cache.classname | Clase de implementación de memoria caché de señales | Para el almacén de señales en memoria, utilice el valor com.ibm.ws.security.oauth20.plugins.BaseCache. | False |
oauth20.token.cache.jndi.tokens | Nombre JNDI (Java™ Naming and Directory Interface) del objeto de memoria caché dinámica para las señales indexadas por ID | El valor predeterminado es Services/cache/OAuth20MemTokenCache. Consulte la sección de configuración de la memoria caché dinámica para obtener más información de uso. | False |
oauth20.token.cache.jndi.users | Nombre JNDI del objeto de memoria caché dinámica para las señales indexadas por usuario | El valor predeterminado es Services/cache/OAuth20MemTokenOwnerCache. Consulte la sección de configuración de la memoria caché dinámica para obtener más información de uso. | False |
Nombre del parámetro | Valor | Descripción | Personalizable |
---|---|---|---|
oauth20.client.provider.classname | Nombre de clase de implementación del proveedor de cliente | Para el almacén de clientes basado en JDBC, utilice el valor com.ibm.ws.security.oauth20.plugins.db.CachedDBClientProvider. Consulte la sección de tablas de la base de datos para obtener más detalles sobre la configuración de la base de datos. | False |
oauth20.token.cache.classname | Nombre de clase de implementación de memoria caché de señales | Para el almacén de señales basado en JDBC, utilice el valor com.ibm.ws.security.oauth20.plugins.db.CachedDBTokenStore. Consulte la sección de tablas de la base de datos para obtener más detalles sobre la configuración de la base de datos. | False |
oauthjdbc.JDBCProvider | Nombre del proveedor JDBC | Establezca este valor de modo que coincida con su proveedor de JDBC, por ejemplo jdbc/oauthProvider. | False |
oauthjdbc.client.table | Nombre de la tabla utilizada para los clientes OAuth | Establezca este valor de modo que coincida con el nombre de la tabla de base de datos, por ejemplo OAuthDBSchema.OAUTH20CLIENTCONFIG. | False |
oauthjdbc.token.table | Nombre de la tabla utilizada para las señales OAuth | Establezca este valor de modo que coincida con el nombre de la tabla de base de datos, por ejemplo OAuthDBSchema.OAUTH20CACHE. | False |
oauthjdbc.CleanupInterval | Intervalo de limpieza de señales caducadas en segundos | Tiempo de retardo en segundos entre la limpieza de señales caducadas en la tabla de señales de la base de datos. | True |
oauthjdbc.LimitRefreshToken | sin utilizar | sin utilizar | True |
oauth20.db.token.cache.jndi.tokens | Nombre JNDI del objeto de memoria caché dinámica para las señales | El almacén de datos está respaldado por una memoria caché dinámica del nombre especificado, por ejemplo services/cache/OAuth20DBTokenCache. Consulte la sección de configuración de la memoria caché dinámica para obtener más información de uso. | False |
oauth20.db.token.cache.jndi.client | Nombre JNDI del objeto de memoria caché dinámica para los clientes | El almacén de datos está respaldado por una memoria caché dinámica del nombre especificado, por ejemplo services/cache/OAuth20DBClientCache. Consulte la sección de configuración de la memoria caché dinámica para obtener más información de uso. | False |
Nombre del parámetro | Valor | Descripción | Personalizable |
---|---|---|---|
oauth20.max.authorization.grant.lifetime.seconds | Tiempo de vida del otorgamiento de autorización, en segundos | Duración en segundos de la validez del otorgamiento de una autorización, por ejemplo 604800. | True |
oauth20.code.lifetime.seconds | Tiempo de vida del código de autorización, en segundos | Duración en segundos de la validez del código de una autorización de OAuth, por ejemplo 60. | True |
oauth20.code.length | entero | Longitud de los códigos de autorización OAuth generados | True |
oauth20.token.lifetime.seconds | entero | Tiempo en segundos durante el cual la señal de acceso OAuth es válida. Este valor se personaliza habitualmente | True |
oauth20.access.token.length | entero | Longitud de las señales de acceso de OAuth generadas | True |
oauth20.issue.refresh.token | true o false | Un valor de false inhabilita el uso y la generación de señales de renovación en el proveedor OAuth | True |
oauth20.refresh.token.length | El valor puede ser a partir de 50 | El valor predeterminado es 50. | True |
oauth20.access.tokentypehandler.classname | Se puede especificar cualquier manejador de señales OAuth20. | El valor predeterminado es com.ibm.ws.security.oauth20.plugins.BaseTokenHandler. El tipo es cc. | False |
oauth20.mediator.classnames | Nombre de clase opcional del mediador OAuth | Consulte la sección sobre el mediador OAuth para obtener más detalles. | False |
oauth20.allow.public.clients | true o false | Un valor de false inhabilita el acceso de clientes públicos como se indica en la especificación de OAuth. | True |
oauth20.grant.types.allowed | Los valores posibles son: authorization_code, password, refresh_tokens, client_credentials o implicit | Lista de flujos de OAuth habilitados, tal como se detalla en la especificación de OAuth. | False |
oauth20.authorization.form.template | URL opcional a la plantilla de autorización personalizada | Si utiliza un formulario de autorización personalizado, especifique la ubicación de la plantilla. | True |
oauth20.authorization.error.template | URL opcional a la plantilla de página de error de autorización personalizada | Si utiliza una página de error de formulario de autorización personalizado, especifique la ubicación de la plantilla. | True |
oauth20.authorization.loginURL | URL opcional a la página de inicio de sesión personalizada | Si utiliza una página de inicio de sesión personalizada, especifique el URL de inicio de sesión. | True |
oauth20.audithandler.classname | Nombre de clase del manejador de auditoría de OAuth | Implementación opcional registro y auditoría avanzados. El valor predeterminado es com.ibm.oauth.core.api.audit.XMLFileOAuthAuditHandler. | True |
oauth20.template.lifetime.seconds | El tiempo de vida de la plantilla, en segundos. El valor predeterminado es 600. | El tiempo que una plantilla debe permanecer en la memoria caché de plantillas. oauth20.template.lifetime.seconds alterará temporalmente cualquier valor en la propiedad del sistema JVM existente denominada com.ibm.ws.security.oauth20.util.defaultTemplateLifetime. |
|
oauth20.template.waitTime | El tiempo de espera de la plantilla, en segundos. El valor predeterminado es 120. | El tiempo que se espera a que se cargue una plantilla desde un servidor remoto. | |
oauth20.template.connectTime | El tiempo de conexión de la plantilla, en segundos. El valor predeterminado es 120. | El tiempo que se espera a que una conexión de servidor cargue una plantilla. | |
oauth20.template.readTime | El tiempo de lectura de la plantilla, en segundos. El valor predeterminado es 120. | El tiempo permitido para que finalice la lectura de un documento de plantilla desde un servidor remoto. | |
oauth20.template.count | Recuento de plantillas. El valor predeterminado es 3. | El número de plantillas que se obtienen simultáneamente. | |
oauth20.grant.type.password.skip.validation | true o false, el valor predeterminado es false | Un valor true inhabilita la validación del propietario de recurso para el tipo de otorgamiento de contraseña. | |
xmlFileAuditHandler.filename | Nombre de archivo | Nombre del archivo que se corresponde con el manejador de auditoría predeterminado. | True |
Nombre del parámetro | Valor | Descripción | Personalizable |
---|---|---|---|
Filter | Se puede utilizar cualquier condición de filtro | Consulte los parámetros de configuración de TAI y su sintaxis para obtener más detalles | True |
oauthOnly | true o false | Una propiedad de configuración del TAI de ejemplo, que se utiliza para restringir la autenticación sólo a OAuth (true) o utilizar otra autenticación habilitado (false). Consulte los parámetros de configuración del TAI para obtener más detalles. | True |
Nombre del parámetro | Valor | Descripción | Personalizable |
---|---|---|---|
oauth20.autoauthorize.param | Cualquier serie | Para utilizar la autorización automática, debe añadirse el parámetro autoauthorize a las solicitudes como un parámetro de URL con un valor de true. | False |
oauth20.autoauthorize.clients | Lista de ID de clientes registrados | Los clientes de esta lista pueden participar en autoauthorization. | True |
Nombre del parámetro | Valor | Descripción | Personalizable |
---|---|---|---|
oauth20.client.uri.substitutions | sin utilizar | sin utilizar | False |
Nombre del parámetro | Valor | Descripción | Personalizable |
---|---|---|---|
oauth20.scope.preAuthorized | cualquier serie | Una lista de ámbitos para todos los clientes | True |