Change: switch google to code flow
This commit is contained in:
parent
73dc6c77a6
commit
90f01aae5c
|
@ -12,9 +12,14 @@ const tokenManager = (() => {
|
||||||
tokenURL: 'https://api.dropboxapi.com/oauth2/token'
|
tokenURL: 'https://api.dropboxapi.com/oauth2/token'
|
||||||
},
|
},
|
||||||
google: {
|
google: {
|
||||||
flow: 'token',
|
flow: 'code',
|
||||||
clientId: '283762574871-v3fq18bmocd1fvo4co7pfad0rcb4bti8.apps.googleusercontent.com',
|
clientId: '283762574871-d4u58s4arra5jdan2gr00heasjlttt1e.apps.googleusercontent.com',
|
||||||
|
clientSecret: 'J0nc5TlR_0V_ex9-sZk-5faf',
|
||||||
authURL: 'https://accounts.google.com/o/oauth2/v2/auth',
|
authURL: 'https://accounts.google.com/o/oauth2/v2/auth',
|
||||||
|
authQuery: {
|
||||||
|
access_type: 'offline'
|
||||||
|
},
|
||||||
|
tokenURL: 'https://oauth2.googleapis.com/token',
|
||||||
scopes: ['https://www.googleapis.com/auth/drive.appdata']
|
scopes: ['https://www.googleapis.com/auth/drive.appdata']
|
||||||
},
|
},
|
||||||
onedrive: {
|
onedrive: {
|
||||||
|
@ -88,6 +93,9 @@ const tokenManager = (() => {
|
||||||
if (provider.scopes) {
|
if (provider.scopes) {
|
||||||
query.scope = provider.scopes.join(' ');
|
query.scope = provider.scopes.join(' ');
|
||||||
}
|
}
|
||||||
|
if (provider.authQuery) {
|
||||||
|
Object.assign(query, provider.authQuery);
|
||||||
|
}
|
||||||
const url = `${provider.authURL}?${stringifyQuery(query)}`;
|
const url = `${provider.authURL}?${stringifyQuery(query)}`;
|
||||||
return launchWebAuthFlow({
|
return launchWebAuthFlow({
|
||||||
url,
|
url,
|
||||||
|
@ -110,17 +118,21 @@ const tokenManager = (() => {
|
||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
const code = params.get('code');
|
const code = params.get('code');
|
||||||
|
const body = {
|
||||||
|
code,
|
||||||
|
grant_type: 'authorization_code',
|
||||||
|
client_id: provider.clientId,
|
||||||
|
redirect_uri: provider.redirect_uri || chrome.identity.getRedirectURL()
|
||||||
|
};
|
||||||
|
if (provider.clientSecret) {
|
||||||
|
body.client_secret = provider.clientSecret;
|
||||||
|
}
|
||||||
return fetch(provider.tokenURL, {
|
return fetch(provider.tokenURL, {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/x-www-form-urlencoded'
|
'Content-Type': 'application/x-www-form-urlencoded'
|
||||||
},
|
},
|
||||||
body: stringifyQuery({
|
body: stringifyQuery(body)
|
||||||
code,
|
|
||||||
grant_type: 'authorization_code',
|
|
||||||
client_id: provider.clientId,
|
|
||||||
redirect_uri: provider.redirect_uri || chrome.identity.getRedirectURL()
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
.then(r => {
|
.then(r => {
|
||||||
if (r.ok) {
|
if (r.ok) {
|
||||||
|
@ -133,7 +145,7 @@ const tokenManager = (() => {
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
.then(result =>
|
.then(result =>
|
||||||
console.log(result) && 0 || chromeLocal.set({
|
chromeLocal.set({
|
||||||
[k.TOKEN]: result.access_token,
|
[k.TOKEN]: result.access_token,
|
||||||
[k.EXPIRE]: result.expires_in ? Date.now() + result.expires_in * 1000 : undefined,
|
[k.EXPIRE]: result.expires_in ? Date.now() + result.expires_in * 1000 : undefined,
|
||||||
[k.REFRESH]: result.refresh_token
|
[k.REFRESH]: result.refresh_token
|
||||||
|
|
Loading…
Reference in New Issue
Block a user