Add GitHub signup oracle #41
@ -214,14 +214,20 @@ module.exports = async function(robot, kredits) {
|
|||||||
res.status(400).json({});
|
res.status(400).json({});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const githubResponse = await fetch('https://api.github.com/user', {
|
try {
|
||||||
headers: {
|
const githubResponse = await fetch('https://api.github.com/user', {
|
||||||
'Accept': 'application/vnd.github.v3+json',
|
headers: {
|
||||||
'Authorization': `token ${accessToken}`
|
'Accept': 'application/vnd.github.v3+json',
|
||||||
}
|
'Authorization': `token ${accessToken}`
|
||||||
});
|
}
|
||||||
|
|
|||||||
|
});
|
||||||
|
} catch (error) {
|
||||||
|
robot.logger.error('[hubot-kredits] Fetching user data from GitHub failed:', error);
|
||||||
|
res.status(500).json({ error });
|
||||||
|
};
|
||||||
|
|
||||||
if (githubResponse.status >= 300) {
|
if (githubResponse.status >= 300) {
|
||||||
res.sendStatus(githubResponse.status);
|
res.status(githubResponse.status).json({});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const user = await githubResponse.json();
|
const user = await githubResponse.json();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user
why don't you directly reditect to kredits-web? - using the grant callback option?
That first redirect should go to the backend server, because that one only contains a (temporary) code that you can then use together with the client secret to exchange it for the actual access token. But you shouldn't put the client secret in a client-side web app.
Also, the endpoint to retrieve the access token using the code and client secret (POST https://github.com/login/oauth/access_token) doesn't have CORS headers, so requests from Web apps wouldn't work.