Merge pull request #21715 from anupamvs/sm-fix

fix: Twitter and LinkedIn Auth fix
This commit is contained in:
rohitwaghchaure 2020-05-15 04:37:40 +05:30 committed by GitHub
commit abcd40c75f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 26 additions and 26 deletions

View File

@ -15,7 +15,7 @@ class LinkedInSettings(Document):
params = urlencode({ params = urlencode({
"response_type":"code", "response_type":"code",
"client_id": self.consumer_key, "client_id": self.consumer_key,
"redirect_uri": get_site_url(frappe.local.site) + "/api/method/erpnext.crm.doctype.linkedin_settings.linkedin_settings.callback?", "redirect_uri": "{0}/api/method/erpnext.crm.doctype.linkedin_settings.linkedin_settings.callback?".format(frappe.utils.get_url()),
"scope": "r_emailaddress w_organization_social r_basicprofile r_liteprofile r_organization_social rw_organization_admin w_member_social" "scope": "r_emailaddress w_organization_social r_basicprofile r_liteprofile r_organization_social rw_organization_admin w_member_social"
}) })
@ -30,7 +30,7 @@ class LinkedInSettings(Document):
"code": code, "code": code,
"client_id": self.consumer_key, "client_id": self.consumer_key,
"client_secret": self.get_password(fieldname="consumer_secret"), "client_secret": self.get_password(fieldname="consumer_secret"),
"redirect_uri": get_site_url(frappe.local.site) + "/api/method/erpnext.crm.doctype.linkedin_settings.linkedin_settings.callback?", "redirect_uri": "{0}/api/method/erpnext.crm.doctype.linkedin_settings.linkedin_settings.callback?".format(frappe.utils.get_url()),
} }
headers = { headers = {
"Content-Type": "application/x-www-form-urlencoded" "Content-Type": "application/x-www-form-urlencoded"

View File

@ -11,8 +11,8 @@
"consumer_key", "consumer_key",
"column_break_5", "column_break_5",
"consumer_secret", "consumer_secret",
"oauth_token", "access_token",
"oauth_secret", "access_token_secret",
"session_status" "session_status"
], ],
"fields": [ "fields": [
@ -41,20 +41,6 @@
"label": "API Secret Key", "label": "API Secret Key",
"reqd": 1 "reqd": 1
}, },
{
"fieldname": "oauth_token",
"fieldtype": "Data",
"hidden": 1,
"label": "OAuth Token",
"read_only": 1
},
{
"fieldname": "oauth_secret",
"fieldtype": "Password",
"hidden": 1,
"label": "OAuth Token Secret",
"read_only": 1
},
{ {
"fieldname": "column_break_5", "fieldname": "column_break_5",
"fieldtype": "Column Break" "fieldtype": "Column Break"
@ -72,12 +58,26 @@
"label": "Session Status", "label": "Session Status",
"options": "Expired\nActive", "options": "Expired\nActive",
"read_only": 1 "read_only": 1
},
{
"fieldname": "access_token",
"fieldtype": "Data",
"hidden": 1,
"label": "Access Token",
"read_only": 1
},
{
"fieldname": "access_token_secret",
"fieldtype": "Data",
"hidden": 1,
"label": "Access Token Secret",
"read_only": 1
} }
], ],
"image_field": "profile_pic", "image_field": "profile_pic",
"issingle": 1, "issingle": 1,
"links": [], "links": [],
"modified": "2020-04-21 22:06:43.726798", "modified": "2020-05-13 17:50:47.934776",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "CRM", "module": "CRM",
"name": "Twitter Settings", "name": "Twitter Settings",

View File

@ -31,13 +31,13 @@ class TwitterSettings(Document):
try: try:
auth.get_access_token(oauth_verifier) auth.get_access_token(oauth_verifier)
api = self.get_api() api = self.get_api(auth.access_token, auth.access_token_secret)
user = api.me() user = api.me()
profile_pic = (user._json["profile_image_url"]).replace("_normal","") profile_pic = (user._json["profile_image_url"]).replace("_normal","")
frappe.db.set_value(self.doctype, self.name, { frappe.db.set_value(self.doctype, self.name, {
"oauth_token" : auth.access_token, "access_token" : auth.access_token,
"oauth_secret" : auth.access_token_secret, "access_token_secret" : auth.access_token_secret,
"account_name" : user._json["screen_name"], "account_name" : user._json["screen_name"],
"profile_pic" : profile_pic, "profile_pic" : profile_pic,
"session_status" : "Active" "session_status" : "Active"
@ -49,11 +49,11 @@ class TwitterSettings(Document):
frappe.msgprint(_("Error! Failed to get access token.")) frappe.msgprint(_("Error! Failed to get access token."))
frappe.throw(_('Invalid Consumer Key or Consumer Secret Key')) frappe.throw(_('Invalid Consumer Key or Consumer Secret Key'))
def get_api(self): def get_api(self, access_token, access_token_secret):
# authentication of consumer key and secret # authentication of consumer key and secret
auth = tweepy.OAuthHandler(self.consumer_key, self.get_password(fieldname="consumer_secret")) auth = tweepy.OAuthHandler(self.consumer_key, self.get_password(fieldname="consumer_secret"))
# authentication of access token and secret # authentication of access token and secret
auth.set_access_token(self.oauth_token, self.get_password(fieldname="oauth_secret")) auth.set_access_token(access_token, access_token_secret)
return tweepy.API(auth) return tweepy.API(auth)
@ -67,13 +67,13 @@ class TwitterSettings(Document):
def upload_image(self, media): def upload_image(self, media):
media = get_file_path(media) media = get_file_path(media)
api = self.get_api() api = self.get_api(self.access_token, self.access_token_secret)
media = api.media_upload(media) media = api.media_upload(media)
return media.media_id return media.media_id
def send_tweet(self, text, media_id=None): def send_tweet(self, text, media_id=None):
api = self.get_api() api = self.get_api(self.access_token, self.access_token_secret)
try: try:
if media_id: if media_id:
response = api.update_status(status = text, media_ids = [media_id]) response = api.update_status(status = text, media_ids = [media_id])