如何撤销身份 API 令牌(Chrome 扩展名)
How to revoke Identity API Token ( Chrome Extension )
我想在我的 Chrome 扩展。
this tutorial 中描述了一种使用 chrome.identity.getAuthToken 进行 登录 的技术。效果很好!单击该按钮时,它会显示一个用于身份验证和授权的弹出窗口。
但是我应该如何实现 退出 按钮?
我尝试在 Sign Out 按钮的单击处理程序中使用 removeCachedAuthToken 方法。因此,登录功能无法按预期工作。之后,当我再次按下 Sign In 按钮时,我直接获得了一个新令牌,而没有弹出窗口要求用户对我的扩展进行身份验证和授权。我希望用户能够通过注销来更改他们的帐户。使用这种技术,这是不可能的。我应该如何实现注销功能以允许这样做?
这也一直困扰着我,直到我意识到我被 sign-in 和授权、sign-out 和撤销访问权限之间的区别弄糊涂了。
首先,我们不要纠结于按钮的名称。你可能称之为 注销,但你真正想要实现的是让用户撤销其 Google 帐户的访问权限,然后登录并授予对不同帐户的访问权限.
如果您使用removeCacheAuthToken
,然后再次授权,并且没有看到弹出窗口,则这意味着该扩展程序仍然可以访问某些 API。要查看哪些应用已被授予访问哪些 Google 服务的权限,请转到 permission settings 并查看。
有几种方法可以撤销访问权限:
- 转到
chrome://identity-internals/
并删除您想要的标记。然后单击“授权”按钮,您应该会看到一个弹出窗口,供您选择要授予访问权限的 Google 个帐户。
当然,这个方法只是为了测试。如果您的最终用户访问该页面,他们将看不到您的扩展程序的访问令牌。
当用户单击 撤销访问权限 按钮或您调用的任何名称时,显示一个弹出窗口,告诉他们转到 permission settings page 手动撤销访问权限。
在当前网页上创建一个表单,将访问令牌添加到表单并提交到 https://oauth2.googleapis.com/revoke
端点。
根据我的经验,方法 3 似乎是一个理想的解决方案,但它对我来说很受欢迎。有时我会收到无效或过期的令牌错误,并且不值得对其进行故障排除。为了安心,我会坚持使用方法。
我想在我的 Chrome 扩展。
this tutorial 中描述了一种使用 chrome.identity.getAuthToken 进行 登录 的技术。效果很好!单击该按钮时,它会显示一个用于身份验证和授权的弹出窗口。
但是我应该如何实现 退出 按钮?
我尝试在 Sign Out 按钮的单击处理程序中使用 removeCachedAuthToken 方法。因此,登录功能无法按预期工作。之后,当我再次按下 Sign In 按钮时,我直接获得了一个新令牌,而没有弹出窗口要求用户对我的扩展进行身份验证和授权。我希望用户能够通过注销来更改他们的帐户。使用这种技术,这是不可能的。我应该如何实现注销功能以允许这样做?
这也一直困扰着我,直到我意识到我被 sign-in 和授权、sign-out 和撤销访问权限之间的区别弄糊涂了。
首先,我们不要纠结于按钮的名称。你可能称之为 注销,但你真正想要实现的是让用户撤销其 Google 帐户的访问权限,然后登录并授予对不同帐户的访问权限.
如果您使用removeCacheAuthToken
,然后再次授权,并且没有看到弹出窗口,则这意味着该扩展程序仍然可以访问某些 API。要查看哪些应用已被授予访问哪些 Google 服务的权限,请转到 permission settings 并查看。
有几种方法可以撤销访问权限:
- 转到
chrome://identity-internals/
并删除您想要的标记。然后单击“授权”按钮,您应该会看到一个弹出窗口,供您选择要授予访问权限的 Google 个帐户。
当然,这个方法只是为了测试。如果您的最终用户访问该页面,他们将看不到您的扩展程序的访问令牌。
当用户单击 撤销访问权限 按钮或您调用的任何名称时,显示一个弹出窗口,告诉他们转到 permission settings page 手动撤销访问权限。
在当前网页上创建一个表单,将访问令牌添加到表单并提交到
https://oauth2.googleapis.com/revoke
端点。
根据我的经验,方法 3 似乎是一个理想的解决方案,但它对我来说很受欢迎。有时我会收到无效或过期的令牌错误,并且不值得对其进行故障排除。为了安心,我会坚持使用方法。