Google API撤销令牌问题

时间:2016-04-22 09:16:26

标签: authentication token logout drive gapi

我使用google drive API创建了一个应用程序来列出和管理我的所有驱动器文件。 一切顺利,除了注销部分。我已经搜索了两天没有结果的解决方案。

以下是与登录相关的代码并且工作正常:

  function checkAuth() {
    gapi.auth.authorize(
      {
        'client_id': CLIENT_ID,
        'scope': SCOPES.join(' '),
        'immediate': true,
        'authuser': '-1'
      }, handleAuthResult);
  }

  function handleAuthResult(authResult) {   
    var authorizeDiv = document.getElementById('authorize-div');
    if (authResult && !authResult.error) {
      // Hide auth UI, then load client library.
      authorizeDiv.style.display = 'none';
      loadDriveApi();
    } else {
      authorizeDiv.style.display = 'inline';
    }
  }


  function handleAuthClick(event) { 
    gapi.auth.authorize(
      {client_id: CLIENT_ID, scope: SCOPES, immediate: false},
      handleAuthResult);
    return false;
  }

  function loadDriveApi() {
    gapi.client.load('drive', 'v2', listFiles);
  }

我可以登录并使用文件,但是当我尝试使用以下注销时,我得到No'Access-Control-Allow-Origin'错误

$(document).on('click', '.logout', function(){
    var token = gapi.auth.getToken();  
    if (token) {
      var accessToken = gapi.auth.getToken().access_token;
      if (accessToken) {     
          var revokeToken = 'https://accounts.google.com/o/oauth2/revoke?token=' + accessToken;
          jQuery.getJSON(revokeToken).success(function(data) {
                console.log(data); 
            }).error(function(message) {
                console.error('error' + message); 
            }).complete(function() {
                console.log('completed!'); 
            });              
      }
    }
    gapi.auth.setToken(null);
    gapi.auth.signOut();      
  });

在Google Developers Console中,我已将我的网站注册为授权JavaScript来源。

由于

0 个答案:

没有答案