Chrome 扩展 OAuth 2.0 无法与 Edge 浏览器配合使用 - Chrome.identity.launchWebAuthFlow 给出“错误 400:redirect_uri_mismatch”

问题描述 投票:0回答:1

我正在开发一个 Chrome 扩展,它使用

chrome.identity.getAuthtoken
API - 来处理 Google OAuth 2.0 身份验证。

  1. 在 Chrome 浏览器中运行正常。

  2. 但是,Microsoft Edge 浏览器不支持此 API(链接此处)。因此,根据多个论坛中的建议,我尝试使用

    chrome.identity.launchWebAuthFlow
    API 来处理 Microsoft Edge 的 Google OAuth 2.0 身份验证。

    但是

    chrome.identity.launchWebAuthFlow
    API 无法正常工作并且正在返回

    Error 400: redirect_uri_mismatch

我在 Edge 或其他基于 Chromium 的浏览器上找不到任何解释此行为的文档或讨论。 我的问题-

Q1。使用

Chrome.identity.launchWebAuthFlow
时,Google Cloud Console 是否需要进行特定配置才能支持其他基于 Chromium 的浏览器(例如 Edge)? Q2。 Edge 是否以不同的方式处理 chrome.identity.launchWebAuthFlow,导致其拒绝redirect_uri? 除 Chrome 之外,基于 Chromium 的浏览器是否有针对此问题的任何已知限制或解决方法?

javascript google-chrome-extension google-oauth microsoft-edge
1个回答
0
投票

Google OAuth 要求身份验证请求中使用的

redirect_uri
必须 与您的 Google Cloud Console 项目中指定的授权重定向 URI 之一完全匹配。

使用

chrome.identity.launchWebAuthFlow
时,
redirect_uri
通常为:

https://<extension-id>.chromiumapp.org/

在 Edge 中,

extension-id
可能保持不变,但您仍然需要在 Google Cloud Console OAuth 2.0 客户端 ID 配置中显式添加特定于 Edge 的重定向 URI。

希望这会成功:

  1. 转到 Google Cloud Console 中的凭据部分。
  2. 查找您的扩展程序使用的 OAuth 2.0 客户端 ID。
  3. 编辑客户端 ID 设置以包括:
https://<extension-id>.chromiumapp.org/

Web 开发人员应该了解有关错误 400 的知识。

© www.soinside.com 2019 - 2024. All rights reserved.