public static function fromArray(array $options = []): self
    {
        return new self(
            $options['authorization_code_ttl'] ?? 120,
            $options['access_token_ttl'] ?? 3600,
            $options['refresh_token_ttl'] ?? 86400,
            $options['rotate_refresh_tokens'] ?? false,
            $options['revoke_rotated_refresh_tokens'] ?? true,
            $options['owner_callable'] ?? null,
            $options['grants'] ?? [],
            $options['owner_request_attribute'] ?? 'owner',
            $options['token_request_attribute'] ?? 'oauth_token'
        );
    }