アクセストークンは i に統一
トークンの先頭に ! がプリフィックスされているかどうかでユーザー固有のトークンかどうか判別する
This commit is contained in:
		
							parent
							
								
									a63de6d776
								
							
						
					
					
						commit
						fa591e5c9b
					
				
					 3 changed files with 12 additions and 13 deletions
				
			
		|  | @ -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({ | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue