code: def verify(self, kid='JWT-Signature-Key', options=None):
          
          if self.access_token is None or self.access_token == "":
              raise AttributeError('No access token are available at this time')
          if options is None:
              options = {}
  
          if self.jwks_key_set is None:
              key = self.jwks_key
          else:
              key = self.jwks_key_set[kid]
  
          return jwt.decode(
              self.access_token,
              key,
              issuer=self.oauth_issuer,
              options=options
          )
docs: Decode and verify the token and return the decoded informations
  
          Parameters
          ----------
          kid : string
              The JWKS key id to identify the key to decode the token.
              Default is 'JWT-Signature-Key'. Only change if CCP changes it.
          options : Dict
              The dictionary of options for skipping validation steps. See
              https://python-jose.readthedocs.io/en/latest/jwt/api.html#jose.jwt.decode
  
          Returns
          -------
          Dict
              The JWT informations from the token, such as character name etc.
  
          Raises
          ------
              jose.exceptions.JWTError: If the signature is invalid in any way.
              jose.exceptions.ExpiredSignatureError: If the signature has expired
              jose.exceptions.JWTClaimsError: If any claim is invalid in any way.