【发布时间】:2016-08-27 13:18:37
【问题描述】:
我们有一个与许多 Google API(日历、联系人、驱动器)集成的网络应用程序。我们有一个集成面板,用户可以在其中有选择地检查on 每个集成。启用新集成后,我们会保存 Google 返回的新刷新令牌并将旧令牌标记为 inactive。到目前为止很棒。
问题是当我们请求一个新范围(增量)时,Google 似乎正确地将范围添加到用户(如果我们从前端检查授予的范围,它会显示正确的列表),但是如果我们从访问权限中检查范围令牌它只会列出配置文件和我们刚刚请求的任何内容。
因此,如果有人启用日历,则该刷新令牌将具有“个人资料”和“日历”,但如果他们随后启用了云端硬盘,则新的刷新令牌将只有“个人资料”和“云端硬盘”,而不是“日历”。这对于我们的 Drive 工作人员来说尤其成问题,因为它会在尝试使用有效的刷新令牌但范围无效的情况下构建用户的 Drive 时产生大量错误。
在后端,我在兑现code 之前使用setIncludeGrantedScopes(true) 方法,据我所知,前端正在做它应该做的(它似乎有预期的范围),但刷新令牌不包含在内。
提示/技巧/陷阱/等等?
【问题讨论】:
标签: google-api google-authentication