diff options
| author | MeiMei <30769358+mei23@users.noreply.github.com> | 2020-03-20 13:56:22 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-03-20 13:56:22 +0900 |
| commit | 80eedf744944769c8ba9bbdccc2aa7dad06b2151 (patch) | |
| tree | 41914408b985d41e526259bfb2e118502221f2f1 /src/server/api/service/twitter.ts | |
| parent | Revert "Update dependencies (#6167)" (#6168) (diff) | |
| download | sharkey-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.ts | 14 |
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(); |