流星:loginWithGoogle 不更新用户的权限范围

Meteor: loginWithGoogle without updating permission scope of user

我的 Meteor 应用程序允许用户使用 Google 和 email/password 注册和登录。

使用 Google 登录时,我只请求 email 权限。登录后,用户可以转到用户设置和Connect Google Calendar,这会将日历权限添加到用户范围(通过执行另一个loginWithGoogle请求日历权限)。

问题是,每次用户从登录页面使用 Google 帐户登录时,scope 对象都会被 loginWithGoogle 函数更新,并且日历范围会被删除(因为这里的登录功能只请求电子邮件权限)。

有没有什么方法可以在没有 updating/replacing 范围的情况下登录用户?我无法从登录页面请求日历权限,因为我希望用户能够决定是否要将他们的日历与应用程序同步。

谢谢。

如果其他人正在寻找答案,解决方案很简单,就是在登录选项中添加一个选项 include_granted_scopes:true

Meteor.loginWithGoogle({
  requestPermission: ['email'],
  loginUrlParameters: {include_granted_scopes: true}
}, function(err){})