Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google chrome extension OAuth2.0的Chrome扩展示例_Google Chrome Extension_Oauth 2.0 - Fatal编程技术网

Google chrome extension OAuth2.0的Chrome扩展示例

Google chrome extension OAuth2.0的Chrome扩展示例,google-chrome-extension,oauth-2.0,Google Chrome Extension,Oauth 2.0,chrome开发者扩展教程使用过时的oAuth 1,将于2015年4月淘汰: 是否有一个在chrome扩展中实现oAuth 2.0的教程?正确的答案是使用,它在封面下使用oAuth 2.0端点来实现。我的扩展使用AngularJS作为框架,但是如果您选择遵循相同的模式,您可以在普通的旧JavaScript或其他框架中完成 诀窍是使用chrome.identity.launchWebAuthFlow()方法 我的示例实际上配置为使用Google,但这仅仅是因为它很方便。您可以使用自己的OAuth2

chrome开发者扩展教程使用过时的oAuth 1,将于2015年4月淘汰:


是否有一个在chrome扩展中实现oAuth 2.0的教程?

正确的答案是使用,它在封面下使用oAuth 2.0端点来实现。我的扩展使用AngularJS作为框架,但是如果您选择遵循相同的模式,您可以在普通的旧JavaScript或其他框架中完成

诀窍是使用
chrome.identity.launchWebAuthFlow()
方法


我的示例实际上配置为使用Google,但这仅仅是因为它很方便。您可以使用自己的OAuth2提供商,就像我在公司所做的那样。重要的区别在于
launchWebAuthFlow()
不需要像
chrome.identity.getAuthToken()
方法那样将浏览器登录到Google,并且您可以将其用于非Google OAuth2系统。

我个人认为chrome identity API很难使用。可能是因为文档编写得不好,或者是因为谷歌只是简单地针对自己的服务进行身份验证

我找到了一个旧的库,它可以很好地完成大部分OAuth舞蹈和所需的注射。
我做了一些清理并扩展了API。你可以在这里找到:

Bulk,说真的,互联网比谷歌最初的搜索结果还要大。知识渊博的人可以指出黄金的结果,否则无法通过查询找到。我个人很高兴你问了这个问题,投了赞成票。还有,这是一个很深的句子:D-“批量,说真的,互联网比谷歌的第一个结果要大。”@cDima在搜索从分机拨打oauth2电话的信息时,我回到了这个页面(从谷歌结果)。我完全忘了我说了什么,我说了什么。我觉得自己像个十足的白痴。我应该向你道歉。我不想找借口,所以我只想说清楚,你不值得我发表评论,我为此感到非常抱歉。@bulk all good my friend;)此方法要求用户登录到ChromeI。我对问题投了赞成票,但对答案投了反对票:您在回答中使用的是实际教程。。与代码示例和所有。。您的回答只是指向某个api调用。。文档非常稀疏。您自己的问题是,是否有在chrome扩展中实现oAuth 2.0的教程?这个答案没有提供oneHey Michael,在上一次到期后如何获得新令牌?此授予类型不允许刷新令牌。一旦会话/令牌过期,您需要重新验证用户。允许为浏览器中的代码提供刷新令牌会打开许多安全漏洞。最好使用
getAuthToken()
而不是
launchWebAuthFlow()
由于我需要用户使用其内部G套件帐户登录,并且使用前者,如果用户使用扩展中授权的帐户登录Chrome,您可以通过再次调用该帐户来获得新的令牌-这也是一个令人沮丧的问题,但想不出任何其他方法来获得刷新令牌。Michael,实际上,您可以使用
launchWebAuthFlow()
获取一个新令牌。请参见我的回答:@MichaelOryl我使用的是chrome.identity.launchWebAuthFlow(),但我的扩展名尚未发布,因此无法获取回调。我检查了文件,但没有找到任何适合当地环境的东西。