summaryrefslogtreecommitdiff
path: root/src/server/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/api')
-rw-r--r--src/server/api/service/twitter.ts30
1 files changed, 18 insertions, 12 deletions
diff --git a/src/server/api/service/twitter.ts b/src/server/api/service/twitter.ts
index 0de2e68c60..284ae7ee22 100644
--- a/src/server/api/service/twitter.ts
+++ b/src/server/api/service/twitter.ts
@@ -118,21 +118,27 @@ if (config.twitter == null) {
return;
}
- redis.get(sessid, async (_, twCtx) => {
- const result = await twAuth.done(JSON.parse(twCtx), ctx.query.oauth_verifier);
+ const get = new Promise<any>((res, rej) => {
+ redis.get(sessid, async (_, twCtx) => {
+ res(twCtx);
+ });
+ });
- const user = await User.findOne({
- host: null,
- 'twitter.userId': result.userId
- }) as ILocalUser;
+ const twCtx = await get;
- if (user == null) {
- ctx.throw(404, `@${result.screenName}と連携しているMisskeyアカウントはありませんでした...`);
- return;
- }
+ const result = await twAuth.done(JSON.parse(twCtx), ctx.query.oauth_verifier);
- signin(ctx, user, true);
- });
+ const user = await User.findOne({
+ host: null,
+ 'twitter.userId': result.userId
+ }) as ILocalUser;
+
+ if (user == null) {
+ ctx.throw(404, `@${result.screenName}と連携しているMisskeyアカウントはありませんでした...`);
+ return;
+ }
+
+ signin(ctx, user, true);
} else {
const verifier = ctx.query.oauth_verifier;