def create_push_token_url(url=None, ttl=10, issuer="privacyIDEA", serial="mylabel", tokenlabel="<s>", user_obj=None, extra_data=None, user=None, realm=None): """ :param url: :param ttl: :param issuer: :param serial: :param tokenlabel: :param user_obj: :param extra_data: :param user: :param realm: :return: """ extra_data = extra_data or {} # policy depends on some lib.util user_obj = user_obj or User() # We need realm und user to be a string realm = realm or "" user = user or "" # Deprecated label = tokenlabel.replace("<s>", serial).replace("<u>", user).replace("<r>", realm) label = label.format(serial=serial, user=user, realm=realm, givenname=user_obj.info.get("givenname", ""), surname=user_obj.info.get("surname", "")) issuer = issuer.format(serial=serial, user=user, realm=realm, givenname=user_obj.info.get("givenname", ""), surname=user_obj.info.get("surname", "")) url_label = quote(label.encode("utf-8")) url_issuer = quote(issuer.encode("utf-8")) url_url = quote(url.encode("utf-8")) return ("otpauth://pipush/{label!s}?" "url={url!s}&ttl={ttl!s}&" "issuer={issuer!s}{extra}".format( label=url_label, issuer=url_issuer, url=url_url, ttl=ttl, extra=_construct_extra_parameters(extra_data)))
def create_push_token_url(url=None, ttl=10, issuer="privacyIDEA", serial="mylabel", tokenlabel="<s>", user_obj=None, extra_data=None, user=None, realm=None): """ :param url: :param ttl: :param issuer: :param serial: :param tokenlabel: :param user_obj: :param extra_data: :param user: :param realm: :return: """ extra_data = extra_data or {} # policy depends on some lib.util user_obj = user_obj or User() # We need realm und user to be a string realm = realm or "" user = user or "" # Deprecated label = tokenlabel.replace("<s>", serial).replace("<u>", user).replace("<r>", realm) label = label.format(serial=serial, user=user, realm=realm, givenname=user_obj.info.get("givenname", ""), surname=user_obj.info.get("surname", "")) issuer = issuer.format(serial=serial, user=user, realm=realm, givenname=user_obj.info.get("givenname", ""), surname=user_obj.info.get("surname", "")) url_label = quote(label.encode("utf-8")) url_issuer = quote(issuer.encode("utf-8")) url_url = quote(url.encode("utf-8")) return ("otpauth://pipush/{label!s}?" "url={url!s}&ttl={ttl!s}&" "issuer={issuer!s}{extra}".format(label=url_label, issuer=url_issuer, url=url_url, ttl=ttl, extra=_construct_extra_parameters(extra_data)))