Suppression des autorisations des extensions

J'ai une extension qui demande d'abord aux autorisations d'accéder aux fichiers Google Drive. L'extension est presque vide sauf dans la fenêtre contextuelle que je charge ce js:

chrome.identity.getAuthToken({ 'interactive': true }, function(token) { // Use the token. console.log('Request Token') console.log(token) chrome.identity.removeCachedAuthToken( { 'token': token }, function () {}) console.log('Removed token') }); 

Dans mon manifeste, j'ai une clé valide, id de client oauth2 et "scopes":["https://www.googleapis.com/auth/drive"] plus d'autres clés standard pour l'extension chrome.

Il fonctionne correctement, il est demandé une permission au début, puis a enregistré mon jeton d'accès. Cependant, lorsque j'ai réinstallé l'extension (supprimé / modifié / ajouté), il ne m'a pas demandé de permission et a simplement écrit le même jeton d'accès. Et je souhaite demander à nouveau la permission. Comment puis-je faire ceci?

Pour supprimer les autorisations, je dois ajouter une autre requête GET pour révoquer l'autorisation:

 chrome.identity.getAuthToken({ 'interactive': true }, function(token) { // Use the token. if (token) { // Make a request to revoke token var xhr = new XMLHttpRequest(); xhr.open('GET', 'https://accounts.google.com/o/oauth2/revoke?token=' + token); xhr.send(); } chrome.identity.removeCachedAuthToken( { 'token': token }, function () {}) }); 

Cela fait l'affaire et maintenant, chaque fois que j'ouvre la fenêtre contextuelle, je souhaite la permission.

Cependant, il y a un autre problème: lorsque j'accorde une permission, je reçois

 XMLHttpRequest cannot load https://accounts.google.com/o/oauth2/revoke?token=... No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'chrome-extension://acfnd...' is therefore not allowed access. 

Ce que je ne suis pas sûr de ce qui signifie.

Au cours du développement, vous pouvez aller à chrome://identity-internals pour révoquer des jetons spécifiques. La prochaine fois que vous autorisez cet utilisateur, la boîte de dialogue des autorisations s'affiche à nouveau. Documenté sur l'authentification de l'utilisateur: mise en cache .

Une fois que vous avez accordé l'autorisation, bien sûr, vous ne serez pas invité à nouveau. Vous devrez accéder à votre page Google Account et révoquer l'autorisation.