[英]Implementing facebook login in a Chrome extension
我正在嘗試使用Facebook的Javascript SDK在Chrome擴展程序的popup.html
頁面中實現登錄按鈕。
但是,當我調用FB.login()
函數時,出現以下錯誤: Given URL is not allowed by the Application configuration
。 現在,由於它是Chrome擴展程序,因此不確定是否可以為其提供URL或域。
那么,在這種情況下我該怎么辦?
您需要手動構建登錄流程,如下所述:
https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow/v2.2
我也正在為chrome擴展程序構建一個登錄按鈕,並且我遵循了這些說明。 但是,每當我嘗試訪問時,都會得到以下信息:
“成功”安全警告。 請使用上面的網址,就像輸入密碼一樣,不要與任何人共享。”
這應該是正確的方法...但是我無法使其正常工作。 也許你可以。
我也在嘗試在chrome擴展程序中添加fb-login功能。 我正在使用python-socialauth作為django應用程序中的Facebook身份驗證應用程序,這是后端。
我遵循的步驟如下:
首先,我打開一個帶有Facebook登錄鏈接的窗口:
window.open(' https://www.facebook.com/dialog/oauth?client_id=&response_type = token&redirect_uri =,“ Facebook登錄”,“寬度= 635,高度= 290,左= 0,頂= 0”)
從成功URL中,我檢索了訪問令牌並將其保存在chrome-local-storage中。
然后,我將該令牌發送到了django-facebook-login視圖。 但是它遇到了錯誤:
'Nonetype' object has no attribute 'encode'.
我的代碼如下:
if isinstance(request.backend, BaseOAuth1):
if request.REQUEST.get('backend') == "facebook":
oauth_token_secret = settings.SOCIAL_AUTH_FACEBOOK_KEY
if request.REQUEST.get('backend') == "google-oauth2":
oauth_token_secret = settings.SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET
token = {
'oauth_token': request.REQUEST.get('access_token'),
'oauth_token_secret': oauth_token_secret,
}
elif isinstance(request.backend, BaseOAuth2):
token = request.REQUEST.get('access_token')
else:
raise HttpResponseBadRequest('Wrong backend type')
user = request.backend.do_auth(token, ajax=True)
# age = request.POST.get('age', '')
login(request, user)
我遇到錯誤的行是:user = request.backend.do_auth(token,ajax = True)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.