0

私は django-social-auth を使用して、自分のウェブサイトの Facebook ログインのユーザーを認証しています。

<a href="{% url socialauth_begin 'facebook' %}?redirect_uri={{SITE_URL}}complete/facebook/">

これにより、認証ダイアログが正しく表示されますが、ダイアログで「アプリに移動」をクリックすると、ソーシャル認証から次のエラーが発生します。

Request Method: GET
Request URL:    http://[site_url]/complete/facebook/?state=DHlD9efEDau286xRGn2HtVpZ9AbooD3y&code=AQCACZRE3WYGMyBSII1eD-H8Sl8yDUtL6VoZ4qJPKSQ_NDBAoE_6JE7-4Ef353utpAygCZVJMUKiLNs_evC-y2oezOKRsH_njtFZW4FwPE2XoaFm14sdbtUkj1QsqivY6DSpGpsmTNCCs3twYxx-6_C-e1OWEcnd4x6SoBg59LmCUsWhocu739h_ppdLRR_wPjY
Django Version: 1.3.1
Exception Type: AuthFailed
Exception Value:    
Authentication failed: There was an error authenticating the app
Exception Location: /app/.heroku/src/social-auth/social_auth/backends/facebook.py in auth_complete, line 131Request Method: GET
Request URL:    http://[site_url]/complete/facebook/?state=DHlD9efEDau286xRGn2HtVpZ9AbooD3y&code=AQCACZRE3WYGMyBSII1eD-H8Sl8yDUtL6VoZ4qJPKSQ_NDBAoE_6JE7-4Ef353utpAygCZVJMUKiLNs_evC-y2oezOKRsH_njtFZW4FwPE2XoaFm14sdbtUkj1QsqivY6DSpGpsmTNCCs3twYxx-6_C-e1OWEcnd4x6SoBg59LmCUsWhocu739h_ppdLRR_wPjY

私の要件ファイルは、分岐したバージョンの django-social-auth を指しているので、いくつかの print ステートメントをエラーの周りに置くことができます。への呼び出しを行った後に障害が発生したようです

https://graph.facebook.com/oauth/access_token?code=AQCc6tIfxJTQN64GGQsDVbT4BCK1hYGypw2oMFQjjMQf-kfJqrWtI-vGe78fJJJHTL6w5yuau90vQu8msVGDpZh30HgUYkwdXhAKJcC9MCf8h6bp1e23wxkkMzP5eaT2j7xOCorn-KgeRv-ZJA40U87GDx1_592amAlSemS4zhXaoAv7JWRHl9NzBFtJ6cuGdbg&client_secret=[app_secret]&redirect_uri=http%3A%2F%2F[site_url]%2Fcomplete%2Ffacebook%2F%3Fredirect_state%3DDHlD9efEDau286xRGn2HtVpZ9AbooD3y&client_id=[app_id]

私がそれから得ているエラーは

{
      "error": {
      "message": "Error validating verification code. Please make sure your redirect_uri is identical to the one you used in the OAuth dialog request",
      "type": "OAuthException",
      "code": 100
   }
}

ただし、URL の末尾にスラッシュを追加すると、次のエラーが発生します。

{
   "error": {
     "message": "Error validating application. Invalid application ID.",
     "type": "OAuthException",
     "code": 101
  }
}

app_id が正しいことを保証します

これは長い間読んでいることは知っていますが、これを修正する方法について何か提案はありますか?

4

1 に答える 1

0

@omabは正しかった、私の問題はredirect_uri. それに加えて、django-social-auth を編集して URL にバックスラッシュを追加しました。これも誤りでした。

于 2012-12-17T17:05:41.267 に答える