Google同意屏幕。权限而不刷新页面

时间:2018-07-18 06:35:51

标签: oauth google-api google-oauth google-oauth2 google-authentication

我在项目中使用Gmail api和Google Calendar api。这些API所需的权限存在问题。

要求:假设我目前尚未授予任何许可之王。

  1. 如果我使用的是Gmail api,那么它应该仅询问与gmail相关的权限。
  2. 我正在使用Calendar api,那么它应该只询问与日历相关的权限。

它按照我的要求工作,但是有一个问题。

问题:假设我在同一页面上有两个按钮,一个用于gmail,另一个用于日历。 我先单击gmail按钮,它提示我登录并询问gmail相关权限,但是我没有授予我取消它的权限,而是单击了日历按钮,这里它只是请求gmail相关权限,刷新页面后,将要求日历许可。

问题:如何在不刷新页面的情况下让我的网站要求获得正确的权限。

我正在使用react-google-login npm。

1 个答案:

答案 0 :(得分:0)

您应该将您的应用程序视为一个实体。它应该只要求用户登录一次。

如果您要运行的应用同时需要gmail和google日历权限,那么您应该同时要求gmail和google日历权限。

话虽如此,说请求gmail范围是可能的,有时值得一提,然后,如果用户要使用您的应用程序的另一部分,它要求日历范围为request additional scopes,则来自此的响应应包含两个gmail和日历权限,但这仍然需要弹出授权窗口并征得他们的同意。

答案:如果不向用户显示同意屏幕并刷新您网站上的访问权限,则无法请求用户授权。