summaryrefslogtreecommitdiff
path: root/src/server/api/service/twitter.ts
diff options
context:
space:
mode:
authorMeiMei <30769358+mei23@users.noreply.github.com>2020-03-20 13:56:22 +0900
committerGitHub <noreply@github.com>2020-03-20 13:56:22 +0900
commit80eedf744944769c8ba9bbdccc2aa7dad06b2151 (patch)
tree41914408b985d41e526259bfb2e118502221f2f1 /src/server/api/service/twitter.ts
parentRevert "Update dependencies (#6167)" (#6168) (diff)
downloadsharkey-80eedf744944769c8ba9bbdccc2aa7dad06b2151.tar.gz
sharkey-80eedf744944769c8ba9bbdccc2aa7dad06b2151.tar.bz2
sharkey-80eedf744944769c8ba9bbdccc2aa7dad06b2151.zip
連携ログインができないのなどを修正 (#6162)
* 連携ログインができないのを修正 * Cookie名変更, セッションに * igiはやっぱり非セッションCookieで * 2回目以降Discordログインできなくなるのを修正
Diffstat (limited to 'src/server/api/service/twitter.ts')
-rw-r--r--src/server/api/service/twitter.ts14
1 files changed, 5 insertions, 9 deletions
diff --git a/src/server/api/service/twitter.ts b/src/server/api/service/twitter.ts
index 881915b58f..000eb57c1b 100644
--- a/src/server/api/service/twitter.ts
+++ b/src/server/api/service/twitter.ts
@@ -12,7 +12,7 @@ import { ILocalUser } from '../../../models/entities/user';
import { ensure } from '../../../prelude/ensure';
function getUserToken(ctx: Koa.Context) {
- return ((ctx.headers['cookie'] || '').match(/i=(\w+)/) || [null, null])[1];
+ return ((ctx.headers['cookie'] || '').match(/igi=(\w+)/) || [null, null])[1];
}
function compareOrigin(ctx: Koa.Context) {
@@ -102,14 +102,10 @@ router.get('/signin/twitter', async ctx => {
redis.set(sessid, JSON.stringify(twCtx));
- const expires = 1000 * 60 * 60; // 1h
- ctx.cookies.set('signin_with_twitter_session_id', sessid, {
+ ctx.cookies.set('signin_with_twitter_sid', sessid, {
path: '/',
- domain: config.host,
secure: config.url.startsWith('https'),
- httpOnly: true,
- expires: new Date(Date.now() + expires),
- maxAge: expires
+ httpOnly: true
});
ctx.redirect(twCtx.url);
@@ -121,7 +117,7 @@ router.get('/tw/cb', async ctx => {
const twAuth = await getTwAuth();
if (userToken == null) {
- const sessid = ctx.cookies.get('signin_with_twitter_session_id');
+ const sessid = ctx.cookies.get('signin_with_twitter_sid');
if (sessid == null) {
ctx.throw(400, 'invalid session');
@@ -139,7 +135,7 @@ router.get('/tw/cb', async ctx => {
const result = await twAuth!.done(JSON.parse(twCtx), ctx.query.oauth_verifier);
const link = await UserProfiles.createQueryBuilder()
- .where('"integrations"->"twitter"->"userId" = :id', { id: result.userId })
+ .where(`"integrations"->'twitter'->>'userId' = :id`, { id: result.userId })
.andWhere('"userHost" IS NULL')
.getOne();