相关疑难解决方法(0)

chrome.identity.launchWebAuthFlow注销/切换用户

我使用户登录到通过我自己的OAuth2 API自己的Chrome扩展,它使用谷歌登入,通过chrome.identity.launchWebAuthFlowinteractive设置为true,并能正常工作,系统会提示用户与谷歌帐户登录,我得到了我的分机的背景脚本重定向URL解析访问来自它的令牌,一切正常,直到我需要注销该用户并使其可以与其他帐户签名.当我尝试再次chrome.identity.launchWebAuthFlow使用interactiveset 运行true时,没有任何内容弹出,但重定向url在后台返回,并且为先前登录的用户选择了访问令牌,因此我无法让我的用户切换帐户.

这有什么解决方案吗?

google-chrome-extension oauth-2.0 google-oauth2

8
推荐指数
1
解决办法
524
查看次数

chrome.identity.launchWebAuthFlow,如何清除用户缓存?

我正在开发可与Gmail一起使用的扩展程序,并且希望能够允许用户在Gmail帐户之间进行切换,并且仍然使用Google REST API。

我正在使用chrome.identity.launchWebAuthFlow获取对Google API的OAuth2访问令牌。

此工作流程将打开一种样式化的chrome webview。顶部没有网址栏。第一次输入用户名和密码,然后允许请求的范围时,Web视图将关闭。然后,我的应用程序会收到包含访问令牌的重定向URI。大。

切换用户时出现问题。有人会认为,这就像检查新电子邮件已登录,然后再次执行chrome.identity.launchWebAuthFlow来获取新令牌一样简单。

不幸的是,第一个登录的用户似乎仍保留在系统中。

function webAuthFlow(userEmail, forceApprovalPrompt, xhrCallback) {
  var baseUrl = 'https://accounts.google.com/o/oauth2/auth';
  var forceApprovalPrompt = forceApprovalPrompt || 'auto';
  var urlParams = {
    'redirect_uri' : 'https://inobjcmbajbmllkgkigemcfnikdmlidn.chromiumapp.org/callback',
    'response_type' : 'token',
    'client_id' : 'not shown here',
    'scope' : 'https://mail.google.com/ https://www.google.com/m8/feeds/',
    'approval_prompt' : 'force',
    'include_granted_scopes' : 'true'
  };

  var providerDetails = {
    url : baseUrl + '?' + stringify(urlParams),
    interactive : true
  }
  var xhrCallback = xhrCallback || false;
  console.log(xhrCallback);
  var callback = function(responseUrl) {
    var params = …
Run Code Online (Sandbox Code Playgroud)

javascript google-chrome-extension oauth-2.0

5
推荐指数
1
解决办法
1615
查看次数