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.
44 lines
1.4 KiB
44 lines
1.4 KiB
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
|
|
|