【问题标题】:social-app-django - Setup REDIRECT URL for GoogleOAuth2 not working?social-app-django - 为 GoogleOAuth2 设置重定向 URL 不起作用?
【发布时间】:2020-05-25 09:37:15
【问题描述】:

我正在使用 social-app-django GoogleOAuth2 后端,但遇到了 redirect_uri 问题

我设法设置了 INSTALLED_APP、AUTHENTICATION_BACKENDS、url.py 并在设置中添加了以下 3 个

SOCIAL_AUTH_GOOGLE_OAUTH2_KEY='MY KEY'
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET='MY SECRET'
LOGIN_REDIRECT_URL='http://localhost:8000/api/auth/complete/google-oauth2/'

我已将http://localhost:8000/api/complete/google-oauth2/ 添加到我的谷歌授权重定向 URI 中。

我通过访问 http://127.0.0.1:8000/login/google-oauth2/ 触发了身份验证登录(是的,我的项目在前端使用 react,所以不使用 Django 模板)。

Problem is I always get this error
Error: redirect_uri_mismatch

The redirect URI in the request, http://127.0.0.1:8000/complete/google-oauth2/, does not match the ones authorized for the OAuth client. To update the authorized redirect URIs, visit: ....

生成的身份验证 url 中的 redirect_url 始终为 http://127.0.0.1:8000/complete/google-oauth2/,如果我将其替换为我在 Google 控制台中配置的 on,则它可以工作。所以我猜它一定与设置有关。

看起来重定向 url 设置确实有效,知道有什么问题吗?请帮忙!

【问题讨论】:

  • LOGIN_REDIRECT_URL 在这里无关紧要。 Google 抱怨的重定向 URL 是社交身份验证提供的 URL,作为重定向到完成身份验证的 URL。
  • @solarissmoke 您能否提供更多信息如何解决?

标签: python django google-oauth python-social-auth


【解决方案1】:

您可以在 auth_params 中添加 redirect_uri 以及在设置文件中添加 access_type

    SOCIALACCOUNT_PROVIDERS = {
    'google': {
        'SCOPE': [
            'profile',
            'email',
        ],
        'AUTH_PARAMS': {
            'access_type': 'online',
            'redirect_uri': 'http://127.0.0.1:8000/<custom-url>'
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-23
    • 2014-05-21
    • 2019-11-17
    • 2014-08-30
    • 2014-11-22
    • 2018-05-14
    相关资源
    最近更新 更多