Safari 网页扩展使用 Google 登录

5

Safari现在可以使用Web扩展。

但不支持browser.identitychrome.identity。因此launchWebAuthFlow无法工作。

文档中只是这样说:

身份验证不受支持。在新标签页中启动OAuth流程。

我该怎么办?是否有示例?

1个回答

0
目前似乎无法在Safari网页扩展中实现OAuth流程。
有一个苹果开发者论坛的帖子提供了一个解决方法,涉及将重定向到一个随机URL并在webRequest.onBeforeRedirect中拦截,但据Safari 15.4的情况来看,这个方法似乎已经失效了:https://developer.apple.com/forums/thread/670165 2021年:
作为一种解决方法,您可以使用任何可访问的URL作为OAuth重定向URL,并使用webRequest.onBeforeRedirect来捕获重定向尝试并通过tabs.update来'强制重定向'。
2023年:
webRequest API在非持久性后台页面(或服务工作者)中不可用,v3禁止使用持久性后台页面。declarativeNetRequest允许重定向到扩展中的路径,但通过这种方式,原始请求不可用。解决此问题的方法是使用regexSubstitution进行重定向。这在Chrome中运行良好,但在Safari中不起作用,因为对safari-web-extension://的重定向被阻止。
OP已经创建了一个WebKit的bug报告,你可能会发现有用的:https://bugs.webkit.org/show_bug.cgi?id=256054 错误:重定向到一个不是HTTP(S)协议的URL。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接