You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.4 KiB

3 years ago
import frappe
from frappe import auth
@frappe.whitelist(allow_guest=True)
def login(device_id):
# try:
# login_manager = frappe.auth.LoginManager()
# login_manager.authenticate(user=usr, pwd=pwd)
# login_manager.post_login()
# except frappe.exceptions.AuthenticationError:
# frappe.clear_messages()
# frappe.local.response["message"] = {
# "success_key":0,
# "message":"Authentication Error!"
# }
# return
# api_generate = generate_keys(frappe.session.user)
# user = frappe.get_doc('User', frappe.session.user)
api_secret = frappe.generate_hash(length=15)
api_key = frappe.generate_hash(length=15)
user_details = frappe.get_doc('User', 'Guest')
frappe.response["message"] = {
"success_key": 1,
"message": "Authentication success",
"api_key": api_key,
"api_secret": api_secret,
'device_id': device_id,
'user_details': user_details,
'sid': frappe.session.sid,
}
def generate_keys(user):
user_details = frappe.get_doc('User', 'Guest')
api_secret = frappe.generate_hash(length=15)
if not user_details.api_key:
api_key = frappe.generate_hash(length=15)
user_details.api_key = api_key
user_details.api_secret = api_secret
user_details.save()
return api_secret