愛と勇気と缶ビール

ふしぎとぼくらはなにをしたらよいか

chrome.identity.getAuthTokenで得たaccess tokenをrevokeする

function revokeToken() {
    var token = gapi.auth.getToken()["access_token"];
    chrome.identity.removeCachedAuthToken({ token: token }, function() {});

    var img = new Image();
    img.src = "https://accounts.google.com/o/oauth2/revoke?token=" + token;
}

やること

  • chrome.identityは内部的にaccess tokenをcacheするのでそいつを消さないといけない
  • revokeはRevoke Endpointに投げるだけ

メモ

  • GoogleのOAuth2では、access tokenのrevokeが「認可の取り消し」を意味する。つまり、revokeした後にユーザは再度認可を行う必要がある。
  • 初期起動時に行うGoogle認証・認可のフローをChrome extensionやChrome Apps内でテストしたい場合、上のようなfunctionを用意しておいてUIなりdev consoleなりから叩けるようにしておくと便利