code: def encode_refresh_token(identity, secret, algorithm, expires_delta, user_claims,
                           csrf, identity_claim_key, user_claims_key,
                           json_encoder=None):
      
      token_data = {
          identity_claim_key: identity,
          'type': 'refresh',
      }
  
      # Don't add extra data to the token if user_claims is empty.
      if user_claims:
          token_data[user_claims_key] = user_claims
  
      if csrf:
          token_data['csrf'] = _create_csrf_token()
      return _encode_jwt(token_data, expires_delta, secret, algorithm,
                         json_encoder=json_encoder)
docs: Creates a new encoded (utf-8) refresh token.
  
      :param identity: Some identifier used to identify the owner of this token
      :param secret: Secret key to encode the JWT with
      :param algorithm: Which algorithm to use for the toek
      :param expires_delta: How far in the future this token should expire
                            (set to False to disable expiration)
      :type expires_delta: datetime.timedelta or False
      :param user_claims: Custom claims to include in this token. This data must
                          be json serializable
      :param csrf: Whether to include a csrf double submit claim in this token
                   (boolean)
      :param identity_claim_key: Which key should be used to store the identity
      :param user_claims_key: Which key should be used to store the user claims
      :return: Encoded refresh token