当前位置: 首页 > 知识库问答 >
问题:

Django Python社交身份验证,身份验证被Facebook应用程序取消

太叔鸿
2023-03-14

我正在尝试使用Facebook凭据实现网站登录。当我在Facebook小部件上按“取消”或“确定”时,我会看到不同的反应。当我按Cancel时,我看到以下内容


    Environment:


    Request Method: GET
    Request URL: http://wakevent.com/complete/facebook/?redirect_state=cvZGNl42bKvgcDDDezBy14VJ1Eit5OmT&error=access_denied&error_code=200&error_description=Permissions+error&error_reason=user_denied&state=cvZGNl42bKvgcDDDezBy14VJ1Eit5OmT

    Django Version: 1.8.2
    Python Version: 2.7.6
    Installed Applications:
    ('django.contrib.admin',
     'django.contrib.auth',
     'django.contrib.contenttypes',
     'django.contrib.sessions',
     'django.contrib.messages',
     'django.contrib.staticfiles',
     'mainapp',
     'social.apps.django_app.default')
    Installed Middleware:
    ('django.contrib.sessions.middleware.SessionMiddleware',
     'django.middleware.common.CommonMiddleware',
     'django.middleware.csrf.CsrfViewMiddleware',
     'django.contrib.auth.middleware.AuthenticationMiddleware',
     'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
     'django.contrib.messages.middleware.MessageMiddleware',
     'django.middleware.clickjacking.XFrameOptionsMiddleware',
     'django.middleware.security.SecurityMiddleware',
     'social.apps.django_app.middleware.SocialAuthExceptionMiddleware')


    Traceback:
    File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
      132.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
    File "/usr/local/lib/python2.7/dist-packages/django/views/decorators/cache.py" in _wrapped_view_func
      57.         response = view_func(request, *args, **kwargs)
    File "/usr/local/lib/python2.7/dist-packages/django/views/decorators/csrf.py" in wrapped_view
      58.         return view_func(*args, **kwargs)
    File "/usr/local/lib/python2.7/dist-packages/social/apps/django_app/utils.py" in wrapper
      51.             return func(request, backend, *args, **kwargs)
    File "/usr/local/lib/python2.7/dist-packages/social/apps/django_app/views.py" in complete
      28.                        redirect_name=REDIRECT_FIELD_NAME, *args, **kwargs)
    File "/usr/local/lib/python2.7/dist-packages/social/actions.py" in do_complete
      43.         user = backend.complete(user=user, *args, **kwargs)
    File "/usr/local/lib/python2.7/dist-packages/social/backends/base.py" in complete
      41.         return self.auth_complete(*args, **kwargs)
    File "/usr/local/lib/python2.7/dist-packages/social/utils.py" in wrapper
      229.             return func(*args, **kwargs)
    File "/usr/local/lib/python2.7/dist-packages/social/backends/facebook.py" in auth_complete
      68.         self.process_error(self.data)
    File "/usr/local/lib/python2.7/dist-packages/social/backends/facebook.py" in process_error
      60.         super(FacebookOAuth2, self).process_error(data)
    File "/usr/local/lib/python2.7/dist-packages/social/backends/oauth.py" in process_error
      363.                 raise AuthCanceled(self, data.get('error_description', ''))

    Exception Type: AuthCanceled at /complete/facebook/
    Exception Value: Authentication process canceled

这是可预测的。但是当我按OK时,我看到另一个错误。


    Environment:


    Request Method: GET
    Request URL: http://wakevent.com/complete/facebook/?redirect_state=cvZGNl42bKvgcDDDezBy14VJ1Eit5OmT&code=AQBe5WWQYk9BJE2fvNIt0RWVYxLaddhXT6t3UQwtF3aJcvbbLrVwsMlxsKEgwulVAtV4WHlYG5lG1HbEHk_cjFhMfWEHy9B8dedrOZagw0AWyGVyvaFtRqOn8_3G8nQb2nEe-DZMdG13V7Jgzrebtu6QXxGuyNzZPVXRnbPiKGUz8jW2p-r_wWB7QAuW-6rdZuII8_1ePBBoGgzmLlKLvMLfZoCqI62h0slF5t2IoAraHahRtnkWeIeH6AVf5u4vzZ8qXatz9fuun8ZK-8rqv5p5HDWZOdydNGm7ZtNh0g1OSpZU4TFAGxAqWbo0LpgiCRs&state=cvZGNl42bKvgcDDDezBy14VJ1Eit5OmT

    Django Version: 1.8.2
    Python Version: 2.7.6
    Installed Applications:
    ('django.contrib.admin',
     'django.contrib.auth',
     'django.contrib.contenttypes',
     'django.contrib.sessions',
     'django.contrib.messages',
     'django.contrib.staticfiles',
     'mainapp',
     'social.apps.django_app.default')
    Installed Middleware:
    ('django.contrib.sessions.middleware.SessionMiddleware',
     'django.middleware.common.CommonMiddleware',
     'django.middleware.csrf.CsrfViewMiddleware',
     'django.contrib.auth.middleware.AuthenticationMiddleware',
     'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
     'django.contrib.messages.middleware.MessageMiddleware',
     'django.middleware.clickjacking.XFrameOptionsMiddleware',
     'django.middleware.security.SecurityMiddleware',
     'social.apps.django_app.middleware.SocialAuthExceptionMiddleware')


    Traceback:
    File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
      132.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
    File "/usr/local/lib/python2.7/dist-packages/django/views/decorators/cache.py" in _wrapped_view_func
      57.         response = view_func(request, *args, **kwargs)
    File "/usr/local/lib/python2.7/dist-packages/django/views/decorators/csrf.py" in wrapped_view
      58.         return view_func(*args, **kwargs)
    File "/usr/local/lib/python2.7/dist-packages/social/apps/django_app/utils.py" in wrapper
      51.             return func(request, backend, *args, **kwargs)
    File "/usr/local/lib/python2.7/dist-packages/social/apps/django_app/views.py" in complete
      28.                        redirect_name=REDIRECT_FIELD_NAME, *args, **kwargs)
    File "/usr/local/lib/python2.7/dist-packages/social/actions.py" in do_complete
      43.         user = backend.complete(user=user, *args, **kwargs)
    File "/usr/local/lib/python2.7/dist-packages/social/backends/base.py" in complete
      41.         return self.auth_complete(*args, **kwargs)
    File "/usr/local/lib/python2.7/dist-packages/social/utils.py" in wrapper
      232.                 raise AuthCanceled(args[0])

    Exception Type: AuthCanceled at /complete/facebook/
    Exception Value: Authentication process canceled

我在本地运行的网站Ubuntu 14.04 apache Web服务器与80端口。我怀疑错误的Facebook应用程序设置,但不知道调试什么。

此外,我可以提到推特登录也在相同的设置下工作。

请指教!

共有2个答案

左丘积厚
2023-03-14

检查重定向URL。在发出post请求时,我错误地指定了重定向URL和客户端ID。对于Facebook,重定向URI是可选的。试着去掉它,它会很好的工作。

莫誉
2023-03-14

我做了错误的Facebook应用程序设置。在安全/服务器IP白名单中,我127.0.0.1地址。删除此地址后,问题就消失了(空格可以)。

 类似资料:
  • 在本章中,我们将使用Firebase Facebook身份验证对用户进行身份验证。 第1步 - 启用Facebook身份验证 我们需要打开Firebase信息中心,然后在侧边菜单中点击Auth 。 接下来,我们需要在标签栏中选择SIGN-IN-METHOD 。 我们将启用Facebook身份验证并保持打开状态,因为我们需要在完成第2步时添加App ID和App Secret 。 第2步 - 创建F

  • 身份验证 PDF版下载 企业应用中的URL链接可以通过OAuth2.0验证接口来获取员工的身份信息。 通过此接口获取员工身份会有一定的时间开销。对于频繁获取员工身份的场景,建议采用如下方案: 企业应用中的URL链接直接填写企业自己的页面地址; 员工跳转到企业页面时,企业校验是否有代表员工身份的cookie,此cookie由企业生成; 如果没有获取到cookie,重定向到OAuth验证链接,获取员工

  • 本文向大家介绍asp.net mvc中Forms身份验证身份验证流程,包括了asp.net mvc中Forms身份验证身份验证流程的使用技巧和注意事项,需要的朋友参考一下 验证流程 一、用户登录 1、验证表单:ModelState.IsValid 2、验证用户名和密码:通过查询数据库验证 3、如果用户名和密码正确,则在客户端保存Cookie以保存用户登录状态:SetAuthCookie     1

  • 问题内容: 我正在尝试在Node.js中使用Socket.IO,并试图允许服务器为每个Socket.IO客户端赋予一个身份。由于套接字代码不在http服务器代码的范围内,因此无法轻松访问已发送的请求信息,因此我假设在连接期间需要将其发送出去。什么是最好的方法 1)将有关谁通过Socket.IO连接到服务器的信息 2)验证他们说的是谁(如果正在使事情变得更容易,我目前正在使用Express) 问题答

  • 我试图使用swift代码在网站上找到这里,但响应是html代码与两个错误:“您必须输入密码!”和“您必须输入用户名!”我是NSURLSession的新手,试图更改用于身份验证的字符串,但无法更改响应。下面是我的代码: 这是控制台响应中的内容:

  • 我正在开发一个具有自己的身份验证和授权机制的REST应用程序。我想使用JSON Web Tokens进行身份验证。以下是有效且安全的实现吗? < li >将开发一个REST API来接受用户名和密码并进行认证。要使用的HTTP方法是POST,因此没有缓存。此外,在传输时还会有安全SSL < li >在认证时,将创建两个JWTs访问令牌和刷新令牌。刷新令牌将具有更长的有效期。这两个令牌都将写入coo