【问题标题】:How to auto-check Google approved scopes on OAuth page?如何在 OAuth 页面上自动检查 Google 批准的范围?
【发布时间】:2021-08-11 18:27:59
【问题描述】:

如下图所示,我已通过 Google 日历 API 的全面验证...

...但是当用户在 webflow 上点击我的 OAuth 同意屏幕时,默认情况下该框在日历上未选中,如下图所示...

有什么办法可以保证默认勾选框?

我使用 Django 作为我的框架,下面的代码用于验证流程:

    flow = google_auth_oauthlib.flow.Flow.from_client_secrets_file(
    env('GOOGLE_CLIENT_SECRET'),
    scopes=['https://www.googleapis.com/auth/calendar.events','https://www.googleapis.com/auth/userinfo.email', 'openid']
    )
    
flow.redirect_uri = env('GOOGLE_FLOW_REDIRECT_URI')

authorization_url, state = flow.authorization_url(
access_type='offline',
prompt='consent',
include_granted_scopes='true'
)

【问题讨论】:

  • 为了让这件事更奇怪,如果我点击“继续”而不选中日历框,那么我的服务将失败,但如果我在浏览器上点击“返回”,它将显示日历访问框被选中...我感觉这与增量授权协议有关,但即使我弄乱了“include_granted_scopes”,它似乎也无济于事。

标签: django google-api google-oauth


【解决方案1】:

同样的问题,非常不稳定,它在其他 oauth 上的工作方式不同,在我们看来他们是一个错误,它应该请求每个权限,然后用未选中标记的实际屏幕确认。

【讨论】:

    猜你喜欢
    • 2014-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-07
    • 2021-11-30
    • 2013-01-07
    相关资源
    最近更新 更多