Exemple #1
0
def get_token(user, pwd, expires_in=3600, expire_on=None, device=None):
    """
  Get the JWT Token
  :param user: The user in ctx
  :param pwd: Pwd to auth
  :param expires_in: number of seconds till expiry
  :param expire_on: yyyy-mm-dd HH:mm:ss to specify the expiry (deprecated)
  :param device: The device in ctx
  """
    if not frappe.db.exists("User", user):
        raise frappe.ValidationError(_("Invalide User"))

    from frappe.sessions import clear_sessions
    login = LoginManager()
    login.check_if_enabled(user)
    if not check_password(user, pwd):
        login.fail('Incorrect password', user=user)
    login.login_as(user)
    login.resume = False
    login.run_trigger('on_session_creation')
    _expires_in = 3600
    if cint(expires_in):
        _expires_in = cint(expires_in)
    elif expire_on:
        _expires_in = (get_datetime(expire_on) -
                       get_datetime()).total_seconds()

    token = get_bearer_token(user=user, expires_in=_expires_in)
    frappe.local.response["token"] = token["access_token"]
    frappe.local.response.update(token)
Exemple #2
0
def pin_login(user, pin, device=None):
    """
  Login using the user's email and the quick login pin
  :param user: The active user
  :param pin: The quick login pin
  :param device: Clear all sessions of device
  """
    from frappe.sessions import clear_sessions
    login = LoginManager()

    if not frappe.cache().get_value(
            f'can_use_quick_login_pin', user=user, expires=True):
        login.fail('Quick Login PIN time expired', user=user)

    login.check_if_enabled(user)
    if not check_password(
            user, pin, doctype='User', fieldname='quick_login_pin'):
        login.fail('Incorrect password', user=user)

    login.login_as(user)
    login.resume = False
    login.run_trigger('on_session_creation')
    if device:
        clear_sessions(user, True, device)
    return frappe.session.user
Exemple #3
0
def pin_login(user, pin, device=None):
  from frappe.sessions import clear_sessions
  login = LoginManager()
  login.check_if_enabled(user)
  p = frappe.db.get_value("User", user, "quick_login_pin")
  if pin != p:
    login.fail('Incorrect password', user=user)

  login.login_as(user)
  login.resume = False
  login.run_trigger('on_session_creation')
  if device:
    clear_sessions(user, True, device)
  return frappe.session.user
Exemple #4
0
def get_token(user, pwd, expire_on=None, device=None):
  if not frappe.db.exists("User", user):
    raise frappe.ValidationError(_("Invalide User"))

  from frappe.sessions import clear_sessions
  login = LoginManager()
  login.check_if_enabled(user)
  if not check_password(user, pwd):
    login.fail('Incorrect password', user=user)
  login.login_as(user)
  login.resume = False
  login.run_trigger('on_session_creation')
  clear_sessions(user, True, device)
  if expire_on:
    frappe.flags.jwt_expire_on = expire_on
Exemple #5
0
def get_token(user, pwd, expire_on=None, device=None):
    """
  Get the JWT Token
  :param user: The user in ctx
  :param pwd: Pwd to auth
  :param expire_on: yyyy-mm-dd HH:mm:ss to specify the expiry
  :param device: The device in ctx
  """
    if not frappe.db.exists("User", user):
        raise frappe.ValidationError(_("Invalide User"))

    from frappe.sessions import clear_sessions
    login = LoginManager()
    login.check_if_enabled(user)
    if not check_password(user, pwd):
        login.fail('Incorrect password', user=user)
    login.login_as(user)
    login.resume = False
    login.run_trigger('on_session_creation')
    clear_sessions(user, True, device)
    if expire_on:
        frappe.flags.jwt_expire_on = expire_on