Change: switch to webextLaunchWebAuthFlow

This commit is contained in:
eight04 2020-08-15 04:04:37 +08:00
parent d1d90c9323
commit 15f062de41

View File

@ -1,10 +1,11 @@
/* global chromeLocal promisifyChrome FIREFOX */ /* global chromeLocal promisifyChrome webextLaunchWebAuthFlow FIREFOX */
/* exported tokenManager */ /* exported tokenManager */
'use strict'; 'use strict';
const tokenManager = (() => { const tokenManager = (() => {
promisifyChrome({ promisifyChrome({
identity: ['launchWebAuthFlow'], 'browser.windows': ['create', 'update', 'remove'],
'browser.tabs': ['create', 'update', 'remove']
}); });
const AUTH = { const AUTH = {
dropbox: { dropbox: {
@ -160,9 +161,10 @@ const tokenManager = (() => {
Object.assign(query, provider.authQuery); Object.assign(query, provider.authQuery);
} }
const url = `${provider.authURL}?${stringifyQuery(query)}`; const url = `${provider.authURL}?${stringifyQuery(query)}`;
return browser.identity.launchWebAuthFlow({ return webextLaunchWebAuthFlow({
url, url,
interactive interactive,
redirect_uri: query.redirect_uri
}) })
.then(url => { .then(url => {
const params = new URLSearchParams( const params = new URLSearchParams(
@ -185,7 +187,7 @@ const tokenManager = (() => {
code, code,
grant_type: 'authorization_code', grant_type: 'authorization_code',
client_id: provider.clientId, client_id: provider.clientId,
redirect_uri: provider.redirect_uri || chrome.identity.getRedirectURL() redirect_uri: query.redirect_uri
}; };
if (provider.clientSecret) { if (provider.clientSecret) {
body.client_secret = provider.clientSecret; body.client_secret = provider.clientSecret;