Skip to content

Instantly share code, notes, and snippets.

@jnerius
Last active November 18, 2022 19:16
Show Gist options
  • Save jnerius/0e639c09f7708ef3bdf15f264375dd6c to your computer and use it in GitHub Desktop.
Save jnerius/0e639c09f7708ef3bdf15f264375dd6c to your computer and use it in GitHub Desktop.

Revisions

  1. jnerius revised this gist Mar 13, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion OAuthGitHubHandler.js
    Original file line number Diff line number Diff line change
    @@ -18,5 +18,5 @@ OAuthGitHubHandler.prototype = Object.extendsObject(OAuthUtil, {
    paramMap.put('expires_in', '365246060');
    },

    type: 'OAuthUtil'
    type: 'OAuthGitHubHandler'
    });
  2. jnerius created this gist Mar 13, 2017.
    22 changes: 22 additions & 0 deletions OAuthGitHubHandler.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,22 @@
    var OAuthGitHubHandler = Class.create();
    OAuthGitHubHandler.prototype = Object.extendsObject(OAuthUtil, {
    // Override postprocessAccessToken method. GitHub returns a urlencoded
    // body, so we need to break this apart and extract the values.
    postprocessAccessToken: function(accessTokenResponse) {
    var contentType = accessTokenResponse.getContentType();
    var contentBody = accessTokenResponse.getBody();
    var paramMap = accessTokenResponse.getparameters();
    var params = contentBody.split('&');
    var parts;

    params.forEach(function(param) {
    parts = param.split('=');
    paramMap.put(parts[0], parts[1]);
    });

    // GitHub tokens do not expire, hardcode expiration to something far away
    paramMap.put('expires_in', '365246060');
    },

    type: 'OAuthUtil'
    });