Javascript 在Chrome扩展中实现facebook登录

Javascript 在Chrome扩展中实现facebook登录,javascript,facebook,google-chrome,google-chrome-extension,Javascript,Facebook,Google Chrome,Google Chrome Extension,我正在尝试使用Facebook的Javascript SDK在Chrome扩展的popup.html页面中实现一个登录按钮 但是,当我调用FB.login()函数时,我得到以下错误:应用程序配置不允许给定的URL。现在,由于它是一个Chrome扩展,我不确定是否可以为它提供URL或域 那么,在这种情况下我应该怎么做呢?您需要手动构建登录流,如下所述: 我也在为chrome扩展构建一个登录按钮,我遵循了这些说明。但是,每当我尝试访问时,我都会得到以下信息: “成功 “安全警告。请像使用密码一样使

我正在尝试使用Facebook的Javascript SDK在Chrome扩展的
popup.html
页面中实现一个登录按钮

但是,当我调用
FB.login()
函数时,我得到以下错误:
应用程序配置不允许给定的URL
。现在,由于它是一个Chrome扩展,我不确定是否可以为它提供URL或域


那么,在这种情况下我应该怎么做呢?

您需要手动构建登录流,如下所述:

我也在为chrome扩展构建一个登录按钮,我遵循了这些说明。但是,每当我尝试访问时,我都会得到以下信息:

“成功 “安全警告。请像使用密码一样使用上面的url,不要与任何人共享。”


这应该是正确的方法…但我不能让它工作。也许你可以。

我还试图在我的chrome扩展中添加fb登录功能。我正在django应用中使用python socialauth作为facebook的身份验证应用,django应用是后端

我遵循的步骤如下所示:

首先,我打开了一个带有facebook登录链接的窗口:

window.open(“&response\u type=token&redirect\u uri=,“Facebook登录”,“宽度=635,高度=290,左侧=0,顶部=0”)

从成功url中,我检索了访问令牌并保存在chrome本地存储中

然后我将令牌发送到我的django facebook登录视图。但它遇到了错误:

'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\u auth(令牌,ajax=True)

是的,它可能重复。在应用程序设置的“高级”选项卡中,选择“是”本机或桌面应用程序?和
嵌入式浏览器OAuth登录
选项。我不断收到警告…但我设法在重定向到警告url之前手动检索令牌。重定向uri参数中应该放什么?