In Pyhton3, requests response content is in bytes type. So decoder have to handle both `str` and `bytes` to make it compatible with both python 2 and 3
38 lines
1.2 KiB
Python
38 lines
1.2 KiB
Python
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
|
# MIT License. See license.txt
|
|
|
|
from __future__ import unicode_literals
|
|
|
|
import frappe
|
|
import frappe.utils
|
|
from frappe.utils.oauth import (login_via_oauth2, login_via_oauth2_id_token,
|
|
oauth_decoder)
|
|
|
|
|
|
@frappe.whitelist(allow_guest=True)
|
|
def login_via_google(code, state):
|
|
login_via_oauth2("google", code, state, decoder=oauth_decoder)
|
|
|
|
@frappe.whitelist(allow_guest=True)
|
|
def login_via_github(code, state):
|
|
login_via_oauth2("github", code, state)
|
|
|
|
@frappe.whitelist(allow_guest=True)
|
|
def login_via_facebook(code, state):
|
|
login_via_oauth2("facebook", code, state, decoder=oauth_decoder)
|
|
|
|
@frappe.whitelist(allow_guest=True)
|
|
def login_via_frappe(code, state):
|
|
login_via_oauth2("frappe", code, state, decoder=oauth_decoder)
|
|
|
|
@frappe.whitelist(allow_guest=True)
|
|
def login_via_office365(code, state):
|
|
login_via_oauth2_id_token("office_365", code, state, decoder=oauth_decoder)
|
|
|
|
@frappe.whitelist(allow_guest=True)
|
|
def login_via_salesforce(code, state):
|
|
login_via_oauth2("salesforce", code, state, decoder=oauth_decoder)
|
|
|
|
@frappe.whitelist(allow_guest=True)
|
|
def login_via_fairlogin(code, state):
|
|
login_via_oauth2("fairlogin", code, state, decoder=oauth_decoder)
|