def sign()

in src/services/clients/jwt_management_client.py [0:0]


    def sign(self, claims: dict | str,
             exp: datetime | timedelta | int = None,
             iss: str | None = None, headers: dict = None) -> str:
        """

        :param claims:
        :param exp:
        :param iss:
        :param headers:
        :return:
        """
        if isinstance(claims, dict):  # adding custom params to claims
            if exp:
                claims['exp'] = self._normalize_exp(exp)
            claims['iat'] = int(time.time())  # issued at
            if isinstance(iss, str):
                claims['iss'] = iss

        headers = headers or {}
        token = jwt.JWT(
            header=self._sign_header(**headers),
            claims=claims
        )
        token.make_signed_token(self._key)
        return token.serialize()