Skip to content

Access token as query parameter is deprecated (cannot fetch emails) #85

Open
@stephancill

Description

@stephancill

Hi! 👋

Firstly, thanks for your work on this project! 🙂

Today I used patch-package to patch [email protected] for the project I'm working on.

GitHub has deprecated passing the access token as a query param and it should now be passed in the Authentication field of the headers. (https://developer.github.com/changes/2020-02-10-deprecating-auth-through-query-param/)

Here is the diff that solved my problem:

diff --git a/node_modules/passport-github/lib/strategy.js b/node_modules/passport-github/lib/strategy.js
index 0f4b07f..b036650 100644
--- a/node_modules/passport-github/lib/strategy.js
+++ b/node_modules/passport-github/lib/strategy.js
@@ -135,7 +135,8 @@ Strategy.prototype.userProfile = function(accessToken, done) {
 
     
     if (self._scope && self._scope.indexOf('user:email') !== -1) {
-      self._oauth2._request('GET', self._userProfileURL + '/emails', { 'Accept': 'application/vnd.github.v3+json' }, '', accessToken, function(err, body, res) {
+      self._oauth2.useAuthorizationHeaderforGET(true)
+      self._oauth2.get(self._userProfileURL + '/emails', accessToken, function(err, body, res) {
         if (err) {
           // If the attempt to fetch email addresses fails, return the profile
           // information that was obtained.

This issue body was partially generated by patch-package.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions