- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
谷歌最近给我发了一封电子邮件,内容如下:
One or more of your web applications uses the legacy Google Sign-In JavaScript library. Please migrate your project(s) to the new Google Identity Services SDK before March 31, 2023
gapi
在前端执行从
apis.google.com/js/api.js
加载的授权.根据表格,我需要用新库替换它。
window.google.accounts.id.initialize({
client_id: GOOGLE_CLIENT_ID,
callback: console.log,
scope: "https://www.googleapis.com/auth/drive.file",
discoveryDocs: ["https://www.googleapis.com/discovery/v1/apis/drive/v3/rest"],
});
window.google.accounts.id.renderButton(ref.current, {
size: "medium",
type: "standard",
});
但是,当我尝试使用 Google 登录按钮进行身份验证时,
scope
字段不受尊重,并且不要求用户授权请求的范围。它也不会在回调的凭据响应中返回任何形式的访问 token 。
最佳答案
在新的 Google 身份服务中,身份验证时刻和授权时刻是分开的。这意味着 GIS 为网站提供了不同的 API 来调用这两个不同的时刻。您不能再将它们组合在一个 API 调用(和 UX 流)中。
在身份验证时刻,用户只需登录或注册您的网站(通过利用 Google 共享的信息)。用户需要做出的唯一决定是他们是否要登录(或注册)。此时无需做出与授权相关的决定。
在身份验证时刻,用户将在所有网站上看到一致的 One Tap 或按钮 UX(因为隐式请求相同的范围)。一致性导致更流畅的用户体验,这可能会进一步导致更多的使用。借助一致且优化的身份验证 UX(跨所有网站),用户将获得更好的联合登录体验。
用户登录后,当你真的想从谷歌数据服务加载一些数据时,你可以调用GIS授权API触发UX流,让最终用户授予权限。那是授权时刻。
目前(2021 年 8 月),仅发布了身份验证 API。如果您的网站只关心身份验证,您现在可以迁移到 GIS。如果您还需要授权API,则需要等待进一步通知。
关于javascript - 如何将作用域 API 与 (GSI) Google 身份服务一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68815693/
我是一名优秀的程序员,十分优秀!