Objets de cache dynamiques pour OAuth

Le support OAuth de WebSphere Application Server offre deux options pour la persistance du jeton et du client OAuth : interne et base de données.

Pour les clients et jetons internes, les clients sont conservés dans le système de fichiers, les jetons restant en mémoire. Des interfaces MBean sont disponibles pour ajouter ou supprimer des clients. Elles synchronisent les changements apportés dans un cluster et les conservent dans le système de fichiers. Les jetons sont gérés par des objets de mémoire cache dynamique ou des mappes de hachage internes locales si aucune mémoire cache dynamique n'est spécifiée.

Dans l'implémentation de base de données, les objets de mémoire cache dynamique sont également utilisés pour assurer la persistance de base de données de la table du client et de la table du jeton. En règle générale, la mémoire cache qui soutient la base de données est une mappe de hachage faible reposant sur une règle la moins récemment utilisée. Les données des mémoires cache sont utilisées lorsqu'elles sont trouvées, ce qui évite les requêtes de base de données pour les données habituellement utilisées et augmente les performances. Si aucune mémoire cache dynamique n'est spécifiée pour la base de données, une mappe de hachage interne locale est utilisée.

Pour les environnements OAuth qui ne sont pas configurés en cluster, la configuration de la mémoire cache dynamique n'est pas requise.

Valeurs par défaut

Les objets de mémoire cache dynamique sont hautement configurables et optimisables pour optimiser les performances. Par défaut, le service OAuth crée des instances de mémoire cache dynamique avec des valeurs par défaut raisonnables adaptées à la plupart des environnements.

Les paramètres des mémoires cache dynamiques des mémoires cache internes sont les suivants :
cache.instance.0=/services/cache/OAuth20MemTokenCache
cache.instance.0.cacheSize=1000
cache.instance.0.enableDiskOffload=true
cache.instance.0.flushToDiskOnStop=true
cache.instance.0.useListenerContext=false
cache.instance.0.enableCacheReplication=true
cache.instance.0.replicationDomain=DynaCacheCluster

cache.instance.1=/services/cache/OAuth20MemTokenOwnerCache
cache.instance.1.cacheSize=1000
cache.instance.1.enableDiskOffload=true
cache.instance.1.flushToDiskOnStop=true
cache.instance.1.useListenerContext=false
cache.instance.1.enableCacheReplication=true
cache.instance.1.replicationDomain=DynaCacheCluster
Les paramètres des mémoires cache dynamiques des caches de base de données sont les suivants :
cache.instance.2=/services/cache/OAuth20DBTokenCache
cache.instance.2.cacheSize=1000
cache.instance.2.enableDiskOffload=false
cache.instance.2.flushToDiskOnStop=false
cache.instance.2.useListenerContext=false
cache.instance.2.enableCacheReplication=true
cache.instance.2.replicationDomain=DynaCacheCluster

cache.instance.3=/services/cache/OAuth20DBClientCache
cache.instance.3.cacheSize=1000
cache.instance.3.enableDiskOffload=false
cache.instance.3.flushToDiskOnStop=false
cache.instance.3.useListenerContext=false
cache.instance.3.enableCacheReplication=true
cache.instance.3.replicationDomain=DynaCacheCluster

Pour utiliser correctement ces mémoires cache dans un cluster, les noeuds de cluster doivent être configurés pour utiliser un domaine de réplication nommé DynaCacheCluster. Aucune autre configuration n'est requise, outre celle du domaine de réplication.

Configuration avancée

Un seul domaine de réplication de réplication peut être spécifié par noeud. Les noeuds de cluster déjà dotés d'un domaine de réplication configuré requièrent une configuration avancée pour créer des objets de mémoire cache dynamique pour le domaine de réplication existant. Les environnements qui utilisent les objets de mémoire cache dynamique optimisés (pour étendre la taille du cache, par exemple) doivent également utiliser la configuration avancée.

La configuration des objets de mémoire cache dynamique personnalisés se déroule en deux étapes :
  1. Créez des instances de mémoire cache dynamique dans l'environnement WebSphere Application Server. Consultez la documentation existante sur les objets de mémoire cache dynamique pour prendre connaissance des options particulières. Les valeurs par défaut déjà présentées peuvent être utilisées pour démarrer. Le nom du domaine de réplication est particulièrement important, étant donné qu'il doit correspondre au domaine de réplication des environnements dont un domaine de réplication a déjà été configuré.
  2. Modifiez les paramètres de configuration du fournisseur OAuth pour les noms JNDI (Java™ Naming and Directory Interface) des nouveaux objets de mémoire cache dynamique.
    1. Si vous utilisez la persistance interne, les noms de paramètre sont les suivants :
      oauth20.token.cache.jndi.tokens
      et
      oauth20.token.cache.jndi.users
    2. Si vous utilisez la persistance de base de données, les noms de paramètre sont les suivants :
      oauth20.db.token.cache.jndi.tokens
      et
      oauth20.db.token.cache.jndi.clients

Si les objets de mémoire cache dynamique ne sont pas correctement configurés, ils sont remplacés par les mappes de hachage internes. Les mappes de hachage améliorent les performances, mais les données ne sont pas répliquées entre les noeuds d'un cluster. Cela devient un élément de l'invalidation du cache. Par exemple, les utilisateurs qui révoquent leurs jetons OAuth dans un environnement qui n'est pas correctement configuré dispose d'un accès à l'aide de leurs jetons OAuth sur d'autres noeuds, tant que le jeton n'a pas expiré.

Les environnements qui ne permettent pas la révocation de jeton ou qui peuvent gérer les incohérences du jeton pendant la durée de son cycle de vie ont également la possibilité de désactiver la mise en mémoire cache dynamique ou l'invalidation du cache. La désactivation de la mémoire cache dynamique amélioret les performances dans une plus large mesure au prix de la perte de la fenêtre d'accès.


Icône indiquant le type de rubrique Rubrique de concept



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwbs_oauthdynamiccache
Nom du fichier : cwbs_oauthdynamiccache.html