【问题标题】:OAuth 2 authentication in Chrome extension using Google API Client Libriary使用 Google API 客户端库在 Chrome 扩展中进行 OAuth2 身份验证
【发布时间】:2014-04-26 03:44:59
【问题描述】:

我正在尝试构建一个 Chrome 扩展程序来访问 Google Drive,其中 OAuth 2 身份验证请求是通过使用 Google API Client Libriary for javascript 来执行的。我的扩展程序已在 Google Developers Console 中注册。

ma​​nifest.json

"background": {
    "page": "background.html"
},

background.html

<script type="text/javascript" src="jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="https://apis.google.com/js/client.js"></script>
<script type="text/javascript" src="google_auth/initiation.js"></script>

initiation.js

var CLIENT_ID = 'MY_CLIENT_ID';
var SCOPES = 'https://www.googleapis.com/auth/drive.file';

jQuery(window).load(function() {
   gapi.auth.authorize({
     client_id: CLIENT_ID,
     scope: SCOPES,
     immediate: false
  }, function(authResult) {
        if (authResult && !authResult.error) {
           window.alert('Auth was successful!');
        } else {
           window.alert('Auth was not successful');
        }
     }
   );
 });

在浏览器中加载或重新加载扩展程序时,会出现一个弹出窗口,我会收到来自 Google 的响应消息:

这是一个错误。

错误:invalid_client

应用程序:MyExtension

实际上,我想知道为我的 Chrome 扩展程序选择 Google API 客户端库是否正确,我的实现是否有任何遗漏。

【问题讨论】:

    标签: google-chrome google-chrome-extension oauth oauth-2.0 google-api-client


    【解决方案1】:

    我没有足够的声誉来发表评论,但如果您的initiation.js 是逐字记录的话。您应该将 'MY_CLIENT_ID' 和 CLIENT_ID 替换为您在此处https://console.developers.google.com/ 向 Google 注册应用时收到的客户端 ID@

    看起来像这样: 858545004388-tlfkq1hfdbuiductlb0qdvjds4s949gt.apps.googleusercontent.com

    这就是 Error: invalid_client 告诉你的。

    【讨论】:

      【解决方案2】:

      Web 身份验证协议使用 HTTP 功能,但 Chrome 应用 在应用程序容器内运行;它们不通过 HTTP 加载,也不能 执行重定向或设置 cookie。

      使用谷歌身份https://developer.chrome.com/apps/app_identity

      【讨论】:

      • chrome.identity API 仅限于用户登录 Chrome 的单个帐户,而 Google API 客户端库允许使用任何 Google 帐户进行身份验证。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-05
      • 2012-11-20
      • 2013-06-24
      • 2013-07-20
      • 1970-01-01
      • 2018-08-17
      相关资源
      最近更新 更多