Skip to content

Commit baeba03

Browse files
committed
fix diff in oauth error - Fixes #30
1 parent 9671b5d commit baeba03

File tree

1 file changed

+55
-47
lines changed

1 file changed

+55
-47
lines changed

src/auth.js

+55-47
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ const getAuthUrl = (base, callbackUrl, scope) => {
1111
client_id,
1212
client_secret,
1313
redirect_uri: callbackUrl,
14-
scope: scope
14+
scope: scope,
1515
};
1616

1717
return `${base}?${queryString.stringify(obj)}`;
@@ -21,72 +21,80 @@ function getTokenFromCode(code) {
2121
let obj = {
2222
client_id,
2323
client_secret,
24-
code
24+
code,
2525
};
2626

27-
return fetch(`${githubTokenUrl}?${queryString.stringify(obj)}`)
28-
.then((res) => res.text(), () => {
29-
throw new Error("Failed to get access_token");
30-
});
27+
return fetch(`${githubTokenUrl}?${queryString.stringify(obj)}`).then(
28+
(res) => res.text(),
29+
() => {
30+
throw new Error("Failed to get access_token");
31+
}
32+
);
3133
}
3234

3335
function getToken(url, interactive) {
3436
return new Promise(function (resolve, reject) {
3537
// Opens a window to initiate GitHub OAuth, fires callback
3638
// with token in the URL.
37-
chrome.identity.launchWebAuthFlow({
38-
url,
39-
interactive
40-
}, function(redirectURL) {
41-
if (chrome.runtime.lastError) {
42-
reject(chrome.runtime.lastError);
43-
return;
44-
}
39+
chrome.identity.launchWebAuthFlow(
40+
{
41+
url,
42+
interactive,
43+
},
44+
function (redirectURL) {
45+
if (chrome.runtime.lastError) {
46+
reject(chrome.runtime.lastError);
47+
return;
48+
}
4549

46-
// Upon success the response is appended to redirectUri, e.g.
47-
// https://{app_id}.chromiumapp.org/provider_cb#access_token={value}
48-
// &refresh_token={value}
49-
// or:
50-
// https://{app_id}.chromiumapp.org/provider_cb#code={value}
51-
let query = queryString.extract(redirectURL);
52-
if (query) {
53-
let obj = queryString.parse(query);
50+
// Upon success the response is appended to redirectUri, e.g.
51+
// https://{app_id}.chromiumapp.org/provider_cb#access_token={value}
52+
// &refresh_token={value}
53+
// or:
54+
// https://{app_id}.chromiumapp.org/provider_cb#code={value}
55+
let query = queryString.extract(redirectURL);
56+
if (query) {
57+
let obj = queryString.parse(query);
5458

55-
if (obj.access_token) {
56-
resolve(obj.access_token);
57-
} else if (obj.code) {
58-
getTokenFromCode(obj.code)
59-
.then((res) => {
60-
let resObj = queryString.parse(res);
61-
let access_token = resObj.access_token;
62-
resolve(access_token);
63-
});
59+
if (obj.access_token) {
60+
resolve(obj.access_token);
61+
} else if (obj.code) {
62+
getTokenFromCode(obj.code).then((res) => {
63+
let resObj = queryString.parse(res);
64+
let access_token = resObj.access_token;
65+
resolve(access_token);
66+
});
67+
} else {
68+
reject(new Error("neither access_token nor code available"));
69+
}
6470
} else {
65-
reject(new Error ("neither access_token nor code available"));
71+
reject(new Error("Invalid redirect URI"));
6672
}
67-
} else {
68-
reject(new Error("Invalid redirect URI"));
6973
}
70-
});
74+
);
7175
});
7276
}
7377

7478
function getTokenFromOauth() {
75-
getSyncStorage({ "access_token": null })
76-
.then((res) => {
79+
getSyncStorage({ access_token: null }).then((res) => {
7780
if (!res.access_token) {
7881
const url = getAuthUrl(githubBaseUrl, redirectUri, "public_repo");
79-
getToken(url, true)
80-
.then((token) => {
81-
setSyncStorage({ "access_token": token });
82-
const accessTokenInput = document.getElementById("token-input");
83-
accessTokenInput.value = token;
84-
document.querySelector("#feedback").textContent = "Access Token Set!";
85-
}, (message) => {
86-
document.querySelector("#feedback").textContent = message;
87-
});
82+
getToken(url, true).then(
83+
(token) => {
84+
setSyncStorage({ access_token: token });
85+
const accessTokenInput = document.getElementById("token-input");
86+
accessTokenInput.value = token;
87+
document.querySelector("#feedback").textContent = "Access Token Set!";
88+
},
89+
(message) => {
90+
document.querySelector("#feedback").textContent = message.message
91+
? `Error: ${message.message}`
92+
: message;
93+
}
94+
);
8895
} else {
89-
document.querySelector("#feedback").textContent = "Access Token Already Set!";
96+
document.querySelector("#feedback").textContent =
97+
"Access Token Already Set!";
9098
}
9199
});
92100
}

0 commit comments

Comments
 (0)