我正在开发一个浏览器扩展,它使用StackExchange API 身份验证。当我将chromiumapp.org作为OAuth Domain添加到应用程序设置 & redirecturi = browser.identity.getRedirectURL('oauth2')中时,我成功地实现了Microsoft /Chrome的身份验证,正如前面提到的这里。
但这并不适用于火狐,因为域chromiumapp.org是铬浏览器特有的。火狐的域名是allizom.org。以及它的无法添加多个域到StackApp的应用程序设置。
stackexchange.com添加为应用程序设置 & redirect_uri = https://stackexchange.com/oauth/login_success中的OAuth Domain,但这会产生另一个问题(类似于这 & 这),当用户单击登录按钮时,将打开一个新窗口,用于授权,允许用户登录堆栈溢出。一旦登录成功,窗口就会自动关闭。但是窗口会被重定向到https://stackexchange.com/oauth/login_success,也就是redirect_uri,然后被卡在那里。(下面的截图)我在一个新的浏览器实例中尝试了同样的方法,它允许我使用谷歌/GitHub OAuth登录,但即使返回到相同的页面,an也会被困在那里。chromiumapp.org或allizom.org是否是安全的!正如这个答案中提到的,这听起来像是一个安全问题。有人能帮忙解决这个问题吗?

发布于 2023-02-07 09:21:07
我目前为其中一个应用程序使用的最佳解决方案是拥有两个不同的“堆栈应用程序”,具有不同的OAuth域--一个用于chromiumapp.org,另一个用于allizom.org。
这是唯一适合我的方法。
https://stackapps.com/questions/9516
复制相似问题