private static function getKey()

in src/JWT.php [391:420]


    private static function getKey($keyOrKeyArray, $kid = null)
    {
        if ($keyOrKeyArray instanceof Key) {
            return $keyOrKeyArray;
        }

        if (is_array($keyOrKeyArray) || $keyOrKeyArray instanceof ArrayAccess) {
            foreach ($keyOrKeyArray as $keyId => $key) {
                if (!$key instanceof Key) {
                    throw new UnexpectedValueException(
                        '$keyOrKeyArray must be an instance of Firebase\JWT\Key key or an '
                        . 'array of Firebase\JWT\Key keys'
                    );
                }
            }
            if (!isset($kid)) {
                throw new UnexpectedValueException('"kid" empty, unable to lookup correct key');
            }
            if (!isset($keyOrKeyArray[$kid])) {
                throw new UnexpectedValueException('"kid" invalid, unable to lookup correct key');
            }

            return $keyOrKeyArray[$kid];
        }

        throw new UnexpectedValueException(
            '$keyOrKeyArray must be an instance of Firebase\JWT\Key key or an '
            . 'array of Firebase\JWT\Key keys'
        );
    }