CachedKeySet
    
            
    
            
            implements
                            ArrayAccess                    
    
    
        
        
    
    
                                    - 
                    implements
                
 
                - 
                                                                                
                                             
                                    
 
                                            
    Table of Contents
    
    
        Interfaces
        
    
    
                    - ArrayAccess
     
    Properties
    
            - 
    $cache
    
                         : CacheItemPoolInterface            
 
            - 
    $cacheItem
    
                         : CacheItemInterface|null            
 
            - 
    $cacheKey
    
                         : string            
 
            - 
    $cacheKeyPrefix
    
                         : string            
 
            - 
    $defaultAlg
    
                         : string|null            
 
            - 
    $expiresAfter
    
                         : int|null            
 
            - 
    $httpClient
    
                         : ClientInterface            
 
            - 
    $httpFactory
    
                         : RequestFactoryInterface            
 
            - 
    $jwksUri
    
                         : string            
 
            - 
    $keySet
    
                         : array<string, array<string|int, mixed>>            
 
            - 
    $maxCallsPerMinute
    
                         : int            
 
            - 
    $maxKeyLength
    
                         : int            
 
            - 
    $rateLimit
    
                         : bool            
 
            - 
    $rateLimitCacheKey
    
                         : string            
 
    
    Methods
    
            - 
    __construct()
    
                                 : mixed    
 
            - 
    offsetExists()
    
                                 : bool    
 
            - 
    offsetGet()
    
                                 : Key    
 
            - 
    offsetSet()
    
                                 : void    
 
            - 
    offsetUnset()
    
                                 : void    
 
            - 
    formatJwksForCache()
    
                                 : array<string|int, mixed>    
 
            - 
    getCacheItem()
    
                                 : CacheItemInterface    
 
            - 
    keyIdExists()
    
                                 : bool    
 
            - 
    rateLimitExceeded()
    
                                 : bool    
 
            - 
    setCacheKeys()
    
                                 : void    
 
    
        
        
    
        
                    
    
        $cache
        
        
                                
    
    
    
    
    
    private
        CacheItemPoolInterface
    $cache
    
    
    
    
    
                    
    
        $cacheItem
        
        
                                
    
    
    
    
    
    private
        CacheItemInterface|null
    $cacheItem
    
    
    
    
    
                    
    
        $cacheKey
        
        
                                
    
    
    
    
    
    private
        string
    $cacheKey
    
    
    
    
    
                    
    
        $cacheKeyPrefix
        
        
                                
    
    
    
    
    
    private
        string
    $cacheKeyPrefix
     = 'jwks'
    
    
    
    
                    
    
        $defaultAlg
        
        
                                
    
    
    
    
    
    private
        string|null
    $defaultAlg
    
    
    
    
    
                    
    
        $expiresAfter
        
        
                                
    
    
    
    
    
    private
        int|null
    $expiresAfter
    
    
    
    
    
                    
    
        $httpClient
        
        
                                
    
    
    
    
    
    private
        ClientInterface
    $httpClient
    
    
    
    
    
                    
    
        $httpFactory
        
        
                                
    
    
    
    
    
    private
        RequestFactoryInterface
    $httpFactory
    
    
    
    
    
                    
    
        $jwksUri
        
        
                                
    
    
    
    
    
    private
        string
    $jwksUri
    
    
    
    
    
                    
    
        $keySet
        
        
                                
    
    
    
    
    
    private
        array<string, array<string|int, mixed>>
    $keySet
    
    
    
    
    
                    
    
        $maxCallsPerMinute
        
        
                                
    
    
    
    
    
    private
        int
    $maxCallsPerMinute
     = 10
    
    
    
    
                    
    
        $maxKeyLength
        
        
                                
    
    
    
    
    
    private
        int
    $maxKeyLength
     = 64
    
    
    
    
                    
    
        $rateLimit
        
        
                                
    
    
    
    
    
    private
        bool
    $rateLimit
    
    
    
    
    
                    
    
        $rateLimitCacheKey
        
        
                                
    
    
    
    
    
    private
        string
    $rateLimitCacheKey
    
    
    
    
    
            
            
        
                    
    
        __construct()
        
    
    
    
    
    public
                    __construct(string $jwksUri, ClientInterface $httpClient, RequestFactoryInterface $httpFactory, CacheItemPoolInterface $cache[, int|null $expiresAfter = null ][, bool $rateLimit = false ][, string|null $defaultAlg = null ]) : mixed
    
        
    
    
        Parameters
    
                    - 
                $jwksUri
                : string
                            
 
            - 
                
            
 
                    - 
                $httpClient
                : ClientInterface
                            
 
            - 
                
            
 
                    - 
                $httpFactory
                : RequestFactoryInterface
                            
 
            - 
                
            
 
                    - 
                $cache
                : CacheItemPoolInterface
                            
 
            - 
                
            
 
                    - 
                $expiresAfter
                : int|null
                 = null            
 
            - 
                
            
 
                    - 
                $rateLimit
                : bool
                 = false            
 
            - 
                
            
 
                    - 
                $defaultAlg
                : string|null
                 = null            
 
            - 
                
            
 
            
    
    
    
                    
    
        offsetExists()
        
    
    
    
    
    public
                    offsetExists(string $keyId) : bool
    
        
    
    
        Parameters
    
                    - 
                $keyId
                : string
                            
 
            - 
                
            
 
            
    
    
            
                    
    
        offsetGet()
        
    
    
    
    
    public
                    offsetGet(string $keyId) : Key
    
        
    
    
        Parameters
    
                    - 
                $keyId
                : string
                            
 
            - 
                
            
 
            
    
    
            
                    
    
        offsetSet()
        
    
    
    
    
    public
                    offsetSet(string $offset, Key $value) : void
    
        
    
    
        Parameters
    
                    - 
                $offset
                : string
                            
 
            - 
                
            
 
                    - 
                $value
                : Key
                            
 
            - 
                
            
 
            
    
    
    
                    
    
        offsetUnset()
        
    
    
    
    
    public
                    offsetUnset(string $offset) : void
    
        
    
    
        Parameters
    
                    - 
                $offset
                : string
                            
 
            - 
                
            
 
            
    
    
    
                    
    
    
    
    
    private
                    formatJwksForCache(string $jwks) : array<string|int, mixed>
    
        
    
    
        Parameters
    
                    - 
                $jwks
                : string
                            
 
            - 
                
            
 
            
    
    
            
        Return values
        array<string|int, mixed>
            
                    
    
        getCacheItem()
        
    
    
    
    
    private
                    getCacheItem() : CacheItemInterface
    
        
    
    
    
    
    
            
                    
    
        keyIdExists()
        
    
    
    
    
    private
                    keyIdExists(string $keyId) : bool
    
        
    
    
        Parameters
    
                    - 
                $keyId
                : string
                            
 
            - 
                
            
 
            
    
    
            
                    
    
        rateLimitExceeded()
        
    
    
    
    
    private
                    rateLimitExceeded() : bool
    
        
    
    
    
    
    
            
                    
    
        setCacheKeys()
        
    
    
    
    
    private
                    setCacheKeys() : void