summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api/integration
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2022-09-24 06:45:44 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2022-09-24 06:45:44 +0900
commit417f52359dd4e708478ed43e2e07efb09ecf1fd2 (patch)
tree3393b6b3395c6e5e898735e34c1f0caffc19d781 /packages/backend/src/server/api/integration
parentfixes (diff)
downloadsharkey-417f52359dd4e708478ed43e2e07efb09ecf1fd2.tar.gz
sharkey-417f52359dd4e708478ed43e2e07efb09ecf1fd2.tar.bz2
sharkey-417f52359dd4e708478ed43e2e07efb09ecf1fd2.zip
fixes
Diffstat (limited to 'packages/backend/src/server/api/integration')
-rw-r--r--packages/backend/src/server/api/integration/DiscordServerService.ts66
-rw-r--r--packages/backend/src/server/api/integration/GithubServerService.ts48
2 files changed, 59 insertions, 55 deletions
diff --git a/packages/backend/src/server/api/integration/DiscordServerService.ts b/packages/backend/src/server/api/integration/DiscordServerService.ts
index 79ce9c8973..8e4f595ada 100644
--- a/packages/backend/src/server/api/integration/DiscordServerService.ts
+++ b/packages/backend/src/server/api/integration/DiscordServerService.ts
@@ -159,6 +159,7 @@ export class DiscordServerService {
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));
});
});
@@ -169,22 +170,22 @@ export class DiscordServerService {
}
const { accessToken, refreshToken, expiresDate } = await new Promise<any>((res, rej) =>
- oauth2!.getOAuthAccessToken(code, {
- grant_type: 'authorization_code',
- redirect_uri,
- }, (err, accessToken, refreshToken, result) => {
- if (err) {
- rej(err);
- } else if (result.error) {
- rej(result.error);
- } else {
- res({
- accessToken,
- refreshToken,
- expiresDate: Date.now() + Number(result.expires_in) * 1000,
- });
- }
- }));
+ oauth2!.getOAuthAccessToken(code, {
+ grant_type: 'authorization_code',
+ redirect_uri,
+ }, (err, accessToken, refreshToken, result) => {
+ if (err) {
+ rej(err);
+ } else if (result.error) {
+ rej(result.error);
+ } else {
+ res({
+ accessToken,
+ refreshToken,
+ expiresDate: Date.now() + Number(result.expires_in) * 1000,
+ });
+ }
+ }));
const { id, username, discriminator } = (await this.httpRequestService.getJson('https://discord.com/api/users/@me', '*/*', 10 * 1000, {
'Authorization': `Bearer ${accessToken}`,
@@ -230,6 +231,7 @@ export class DiscordServerService {
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));
});
});
@@ -240,22 +242,22 @@ export class DiscordServerService {
}
const { accessToken, refreshToken, expiresDate } = await new Promise<any>((res, rej) =>
- oauth2!.getOAuthAccessToken(code, {
- grant_type: 'authorization_code',
- redirect_uri,
- }, (err, accessToken, refreshToken, result) => {
- if (err) {
- rej(err);
- } else if (result.error) {
- rej(result.error);
- } else {
- res({
- accessToken,
- refreshToken,
- expiresDate: Date.now() + Number(result.expires_in) * 1000,
- });
- }
- }));
+ oauth2!.getOAuthAccessToken(code, {
+ grant_type: 'authorization_code',
+ redirect_uri,
+ }, (err, accessToken, refreshToken, result) => {
+ if (err) {
+ rej(err);
+ } else if (result.error) {
+ rej(result.error);
+ } else {
+ res({
+ accessToken,
+ refreshToken,
+ expiresDate: Date.now() + Number(result.expires_in) * 1000,
+ });
+ }
+ }));
const { id, username, discriminator } = (await this.httpRequestService.getJson('https://discord.com/api/users/@me', '*/*', 10 * 1000, {
'Authorization': `Bearer ${accessToken}`,
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}`,