diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2022-09-24 06:45:44 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2022-09-24 06:45:44 +0900 |
| commit | 417f52359dd4e708478ed43e2e07efb09ecf1fd2 (patch) | |
| tree | 3393b6b3395c6e5e898735e34c1f0caffc19d781 /packages/backend/src/server/api/integration/GithubServerService.ts | |
| parent | fixes (diff) | |
| download | sharkey-417f52359dd4e708478ed43e2e07efb09ecf1fd2.tar.gz sharkey-417f52359dd4e708478ed43e2e07efb09ecf1fd2.tar.bz2 sharkey-417f52359dd4e708478ed43e2e07efb09ecf1fd2.zip | |
fixes
Diffstat (limited to 'packages/backend/src/server/api/integration/GithubServerService.ts')
| -rw-r--r-- | packages/backend/src/server/api/integration/GithubServerService.ts | 48 |
1 files changed, 25 insertions, 23 deletions
diff --git a/packages/backend/src/server/api/integration/GithubServerService.ts b/packages/backend/src/server/api/integration/GithubServerService.ts index 7fb31c39a2..2ccea36dc4 100644 --- a/packages/backend/src/server/api/integration/GithubServerService.ts +++ b/packages/backend/src/server/api/integration/GithubServerService.ts @@ -157,6 +157,7 @@ export class GithubServerService { const { redirect_uri, state } = await new Promise<any>((res, rej) => { this.redisClient.get(sessid, async (_, state) => { + if (state == null) throw new Error('empty state'); res(JSON.parse(state)); }); }); @@ -167,17 +168,17 @@ export class GithubServerService { } const { accessToken } = await new Promise<any>((res, rej) => - oauth2!.getOAuthAccessToken(code, { - redirect_uri, - }, (err, accessToken, refresh, result) => { - if (err) { - rej(err); - } else if (result.error) { - rej(result.error); - } else { - res({ accessToken }); - } - })); + oauth2!.getOAuthAccessToken(code, { + redirect_uri, + }, (err, accessToken, refresh, result) => { + if (err) { + rej(err); + } else if (result.error) { + rej(result.error); + } else { + res({ accessToken }); + } + })); const { login, id } = (await this.httpRequestService.getJson('https://api.github.com/user', 'application/vnd.github.v3+json', 10 * 1000, { 'Authorization': `bearer ${accessToken}`, @@ -208,6 +209,7 @@ export class GithubServerService { const { redirect_uri, state } = await new Promise<any>((res, rej) => { this.redisClient.get(userToken, async (_, state) => { + if (state == null) throw new Error('empty state'); res(JSON.parse(state)); }); }); @@ -218,18 +220,18 @@ export class GithubServerService { } const { accessToken } = await new Promise<any>((res, rej) => - oauth2!.getOAuthAccessToken( - code, - { redirect_uri }, - (err, accessToken, refresh, result) => { - if (err) { - rej(err); - } else if (result.error) { - rej(result.error); - } else { - res({ accessToken }); - } - })); + oauth2!.getOAuthAccessToken( + code, + { redirect_uri }, + (err, accessToken, refresh, result) => { + if (err) { + rej(err); + } else if (result.error) { + rej(result.error); + } else { + res({ accessToken }); + } + })); const { login, id } = (await this.httpRequestService.getJson('https://api.github.com/user', 'application/vnd.github.v3+json', 10 * 1000, { 'Authorization': `bearer ${accessToken}`, |