Chrome开发者扩展教程使用的oAuth 1已过时,将在2015年4月逐步淘汰:https://developer.chrome.com/extensions/tut_oauth
是否有关于在Chrome扩展中实现oAuth 2.0的教程?
Chrome开发者扩展教程使用的oAuth 1已过时,将在2015年4月逐步淘汰:https://developer.chrome.com/extensions/tut_oauth
是否有关于在Chrome扩展中实现oAuth 2.0的教程?
chrome.identity.launchWebAuthFlow()
方法。launchWebAuthFlow()
不需要浏览器像chrome.identity.getAuthToken()
方法那样登录到Google,并且您可以将其与非Google OAuth2系统一起使用。getAuthToken()
而不是launchWebAuthFlow()
,因为我需要用户使用他们的内部G Suite帐户登录,并且使用前者,如果他们在扩展中授权的帐户上已经登录Chrome,则可以通过再次调用它来获取新的令牌 - 这也很糟糕,但我想不到其他方法来获得刷新令牌。 - IvorlaunchWebAuthFlow()
来获取新的令牌,具体请参考我的回答:https://dev59.com/Lqzla4cB1Zd3GeqPD-Q1#51385987 - Ivor我个人认为Chrome身份验证API很难使用。也许是因为文档写得不好,或者Google只对针对自己的服务进行身份验证方面比较直接。
我找到了一个旧的库,它可以很好地完成大部分OAuth工作和所需的注入。我进行了一些清理并扩展了API。您可以在这里找到它:https://github.com/whoisjuan/ChromeAuth2
在这个时候,您可能需要在manifest.json
中添加"https://www.googleapis.com/auth/contacts"
。
....
"oauth2": {
"client_id": "[Your Client Id]",
"scopes": ["https://www.googleapis.com/auth/contacts"]
}
....