Skip to content
Snippets Groups Projects
Commit fa591e5c authored by syuilo's avatar syuilo
Browse files

アクセストークンは i に統一

トークンの先頭に ! がプリフィックスされているかどうかでユーザー固有のトークンかどうか判別する
parent a63de6d7
No related branches found
No related tags found
No related merge requests found
......@@ -71,4 +71,4 @@ block content
br
| 上手くいけば、認証したユーザーのアクセストークンがレスポンスとして取得できます。おめでとうございます!
p アクセストークンを取得できたら、あとは簡単です。REST APIなら、リクエストにアクセストークンを<code>_userkey</code>(「自分のアクセストークンを取得したい場合」の方法で取得したアクセストークンの場合は<code>i</code>)としてパラメータに含めるだけです。
p アクセストークンを取得できたら、あとは簡単です。REST APIなら、リクエストにアクセストークンを<code>i</code>としてパラメータに含めるだけです。
......@@ -20,10 +20,14 @@ export interface IAuthContext {
isSecure: boolean;
}
export default (req: express.Request) =>
new Promise<IAuthContext>(async (resolve, reject) => {
const token = req.body['i'];
if (token) {
export default (req: express.Request) => new Promise<IAuthContext>(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 });
});
......@@ -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({
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment