簡體   English   中英

在Chrome擴展程序中實現Facebook登錄

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM