我对 Chrome 扩展开发非常陌生。我正在尝试将谷歌身份验证集成到我正在构建的 Chrome 扩展中。首先,我使用“Chrome 扩展”类型的 OAuth 客户端 ID 添加了 google auth,该 ID 在设置时不需要输入重定向 URI。当尝试使用扩展程序登录时,我收到 google 登录的弹出窗口,并显示以下错误:
您无法登录,因为此应用发送了无效请求。你可以 请稍后重试或联系开发人员解决此问题。
如果您是此应用程序的开发者,请参阅错误详细信息。
错误 400:redirect_uri_mismatch
我检查了数百次,发现重定向 URI 是正确的。我检查了扩展 ID,发现它是相同的。我使用代码
chrome.identity.getRedirectURL()
来获取重定向 URI,它会返回正确的 URI。我也尝试过将重定向 URI 传递到编码的 Web 身份验证流,但没有成功,错误仍然存在。
为了尝试不同的方法,我创建了一个“Web 应用程序”类型的 OAuth 客户端 ID,它明确要求您在创建时输入重定向 URI。但错误是相同的并且持续存在。
目前我不确定我还能尝试什么。我将不胜感激任何有关此事的帮助。另外,我不确定我可以提供哪些其他信息,但请让我知道您需要哪些其他信息。我主要使用 this 教程来使用“Web 应用程序”方法实现 oauth。
谢谢,
请按照此指南将 Google 身份服务集成到您的 Chrome 扩展程序中。
launchWebAuthFlow()
方法 为非 Google 身份提供商启用身份验证流程。您应该使用 getAuthToken()
方法,它将 OAuth 2.0 响应直接传递到您的应用程序,并且不需要您提供重定向 URI。