Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.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 chromiumapp.org扩展重定向如何为Google Chrome工作?_Google Chrome_Google Chrome Extension_Oauth 2.0_Google Oauth - Fatal编程技术网

Google chrome chromiumapp.org扩展重定向如何为Google Chrome工作?

Google chrome chromiumapp.org扩展重定向如何为Google Chrome工作?,google-chrome,google-chrome-extension,oauth-2.0,google-oauth,Google Chrome,Google Chrome Extension,Oauth 2.0,Google Oauth,创建Chrome扩展并希望使用OAuth 2.0时,可以使用https://)。有没有人知道,或者能够从理论上解释这是如何工作的?您是否能够在浏览器中针对任何请求,或者这仅适用于OAuth 2.0?这由处理,其目的如下: 给定一个提供程序URL,加载该URL并执行常规web导航,直到它导致重定向到有效的扩展重定向URL。 如果需要,提供者可以在重定向到适当的URL之前向用户显示任何UI 当服务器指示浏览器重定向到有效的扩展重定向URL时,该URL将被传递到提供给chrome.identity.l

创建Chrome扩展并希望使用OAuth 2.0时,可以使用
https://)。有没有人知道,或者能够从理论上解释这是如何工作的?您是否能够在浏览器中针对任何请求,或者这仅适用于OAuth 2.0?

这由处理,其目的如下:

给定一个提供程序URL,加载该URL并执行常规web导航,直到它导致重定向到有效的扩展重定向URL。 如果需要,提供者可以在重定向到适当的URL之前向用户显示任何UI

当服务器指示浏览器重定向到有效的扩展重定向URL时,该URL将被传递到提供给
chrome.identity.launchWebAuthFlow
的回调函数

“适当”URL硬编码为:


所以这个特殊的URL
https://.chromiumapp.org/*
仅适用于
chrome.identity
API的WebAuthFlow上下文。请注意,该机制是完全内部的铬。永远不会请求URL。

但是,在OAuth流程中,远程服务器可以联系特定的浏览器。我的问题更多的是关于它是如何工作的(你的浏览器作为远程端点的“服务器”的机制)。服务器从不联系浏览器。他们只回答浏览器请求。其中一个答案可以是重定向。当重定向到一个
chromiumapp.org
URL时,验证流程就完成了。出于这个原因,我在引号中使用了“server;”)此外,还有SSE()。但我的观点是-OAuth服务器点击了chromiumapp.org,对吗?这如何转化为浏览器获取服务器发送到该URL的信息?否。OAuth服务器告诉浏览器重定向到
chromiumapp.org
。浏览器会将URL传递给您提供给“chrome.identity.launchWebAuthFlow”的回调函数。@sardaukar如果您觉得答案有用,您可以接受它。
static const char kChromeExtensionSchemeUrlPattern[] =
    "chrome-extension://%s/";
static const char kChromiumDomainRedirectUrlPattern[] =
    "https://%s.chromiumapp.org/";