2017-01-30 5 views
0

基本認証ヘッダーを取得し、PHPを使用してAPI用に認証する方法を教えてください。私はコード化され、データベースに保存されているユニークなキーを作成しました。私は残りのAPIのためにスリムフレームワークを使用しています。基本認証ヘッダーを取得し、APIを使用してそれを認証する方法

スリムフレームワークで$request->headers();を使用してヘッダーを取得できます。指定したすべてのヘッダーが返されますが、そのキーをデータベーストークンでチェックするにはどうすればよいですか。

これを行う適切な方法はありますか?

+1

1のコードでは、以上の千の言葉を言うことができます。..加える[MCVE] – Xorifelse

+0

あなたは$要求 - >のgetHeader [$ nameOfHeaderKey]を試みたことがありますか? – Rob

答えて

0

私はスリムフレームワーク3でこのようにそれをやった:私はすべての要求にミドルウェアを追加し、特定の文字列をAuthorizationヘッダーを確認

とAuthorizationヘッダーが設定されていないか、私はちょうど私の文字列に一致doesntの場合HTTPコード400を返します。

$app->add(function($request,$response,$next){ 
$authorization_header = $request->getHeader("Authorization"); 

if(empty($authorization_header) || ($authorization_header[0]!="test")){ //you can check the header for a certain string or you can check if what is in the Authorization header exists in your database 

    return $response->withStatus(400); 
} 

$response = $next($request,$response); 

return $response; 

}); 
+0

あなたはそのヘッダー()ではなく、返信$ response-> withStatus(400);のスリムな応答を使用する必要があります; " – jmattheis

+0

はい、あなたは正しいです...ありがとう..私は答えを編集するつもりです –

+0

その働き。ありがとうございます –

関連する問題