diff --git a/docs/api/getting-started.pug b/docs/api/getting-started.pug index 8e6e6b4f47..f565745232 100644 --- a/docs/api/getting-started.pug +++ b/docs/api/getting-started.pug @@ -71,4 +71,4 @@ block content br | 上手くいけば、認証したユーザーのアクセストークンがレスポンスとして取得できます。おめでとうございます! - p アクセストークンを取得できたら、あとは簡単です。REST APIなら、リクエストにアクセストークンを_userkey(「自分のアクセストークンを取得したい場合」の方法で取得したアクセストークンの場合はi)としてパラメータに含めるだけです。 + p アクセストークンを取得できたら、あとは簡単です。REST APIなら、リクエストにアクセストークンをiとしてパラメータに含めるだけです。 diff --git a/src/api/authenticate.ts b/src/api/authenticate.ts index 5798adb83d..16a7ee1b45 100644 --- a/src/api/authenticate.ts +++ b/src/api/authenticate.ts @@ -20,10 +20,14 @@ export interface IAuthContext { isSecure: boolean; } -export default (req: express.Request) => - new Promise(async (resolve, reject) => { - const token = req.body['i']; - if (token) { +export default (req: express.Request) => new Promise(async (resolve, reject) => { + const token = req.body['i'] || req.body['_userkey']; // そのうち_userkeyは削除 + + if (token == null) { + return resolve({ app: null, user: null, isSecure: false }); + } + + if (token[0] == '!') { const user = await User .findOne({ token: token }); @@ -36,12 +40,9 @@ export default (req: express.Request) => user: user, isSecure: true }); - } - - const userkey = req.headers['userkey'] || req.body['_userkey']; - if (userkey) { + } else { const userkeyDoc = await Userkey.findOne({ - key: userkey + key: token }); if (userkeyDoc === null) { @@ -56,6 +57,4 @@ export default (req: express.Request) => return resolve({ app: app, user: user, isSecure: false }); } - - return resolve({ app: null, user: null, isSecure: false }); }); diff --git a/src/api/private/signup.ts b/src/api/private/signup.ts index c50b070052..592dfcceb1 100644 --- a/src/api/private/signup.ts +++ b/src/api/private/signup.ts @@ -48,7 +48,7 @@ export default async (req: express.Request, res: express.Response) => { const hash = bcrypt.hashSync(password, salt); // Generate secret - const secret = rndstr('a-zA-Z0-9', 32); + const secret = '!' + rndstr('a-zA-Z0-9', 32); // Create account const inserted = await User.insert({