This commit is contained in:
syuilo 2018-04-14 06:27:17 +09:00
parent f0be021d85
commit 8bf05e47df
1 changed files with 30 additions and 24 deletions

View File

@ -107,7 +107,7 @@ if (config.twitter == null) {
ctx.redirect(twCtx.url); ctx.redirect(twCtx.url);
}); });
router.get('/tw/cb', ctx => { router.get('/tw/cb', async ctx => {
const userToken = getUserToken(ctx); const userToken = getUserToken(ctx);
if (userToken == null) { if (userToken == null) {
@ -141,31 +141,37 @@ if (config.twitter == null) {
return; return;
} }
redis.get(userToken, async (_, twCtx) => { const get = new Promise<any>((res, rej) => {
const result = await twAuth.done(JSON.parse(twCtx), verifier); redis.get(userToken, async (_, twCtx) => {
res(twCtx);
const user = await User.findOneAndUpdate({
host: null,
token: userToken
}, {
$set: {
twitter: {
accessToken: result.accessToken,
accessTokenSecret: result.accessTokenSecret,
userId: result.userId,
screenName: result.screenName
}
}
}); });
ctx.body = `Twitter: @${result.screenName} を、Misskey: @${user.username} に接続しました!`;
// Publish i updated event
event(user._id, 'i_updated', await pack(user, user, {
detail: true,
includeSecrets: true
}));
}); });
const twCtx = await get;
const result = await twAuth.done(JSON.parse(twCtx), verifier);
const user = await User.findOneAndUpdate({
host: null,
token: userToken
}, {
$set: {
twitter: {
accessToken: result.accessToken,
accessTokenSecret: result.accessTokenSecret,
userId: result.userId,
screenName: result.screenName
}
}
});
ctx.body = `Twitter: @${result.screenName} を、Misskey: @${user.username} に接続しました!`;
// Publish i updated event
event(user._id, 'i_updated', await pack(user, user, {
detail: true,
includeSecrets: true
}));
} }
}); });
} }