首页 > 解决方案 > 如何在 OAuth 页面上自动检查 Google 批准的范围?

问题描述

我已经通过 Google Calendar 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'
)

标签: djangogoogle-apigoogle-oauth

解决方案


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


推荐阅读