def _decode_exp(self, access_token=None):
        """Extract exp field from access token.

        Args:
            access_token (str): Access token to decode. Defaults to ``None``.

        Returns:
            int: JWT expiration in epoch seconds.

        """
        c = self.get_credentials()
        jwt = access_token or c.access_token
        x = self.decode_jwt_payload(jwt)

        if 'exp' in x:
            try:
                exp = int(x['exp'])
            except ValueError:
                raise PanCloudError(
                    "Expiration time (exp) must be an integer")
            else:
                self.jwt_exp = exp
                return exp
        else:
            raise PanCloudError("No exp field found in payload")
Extract exp field from access token.

        Args:
            access_token (str): Access token to decode. Defaults to ``None``.

        Returns:
            int: JWT expiration in epoch seconds.