2016-10-19 32 views
-1

スリムインストールでHTTP基本認証を使用する際に問題が発生しました。Http Basic Auth in Slim V2

httpコールが認証されている場合にのみ、クラスメソッドを呼び出すAPIを作成する必要があります。

これが私のマークアップです:

<?php 
$httpAuth = function() use ($app) { 
    $app->add(new \Slim\Middleware\HttpBasicAuthentication(array(
    "path" => "/api/generateScratch", 
    "realm" => "Protected", 
    "users" => array(
     "root" => "t00r", 
     "user" => "passw0rd" 
    )))); 
}; 

$app->get('/api/generateScratch', $httpAuth, function() use($app,$db) { 
    $params = $app->request->getBody() ; 
    if(!empty($params)){ 
     print $params; 
     require_once ('classes/codes/codes.php'); 
     $codes = new Codes($db, 1); 
     $res = $codes->assign($params); 
    } 
}); 
?> 

どのように私は、APIを完了することができますか?私はhttp認証された呼び出しをする方法を知らない。

+0

あなたが直面している実際の問題は何ですか? –

+0

こんにちはマイク、問題は何も働いていない:)私は/ api/generateScratchに行くとき私のコードを参照してください "タイプ:ErrorException コード:4096 メッセージ:引数1 Slim \ Slim :: addに渡された)Slim \ Middleware、Slim \ Middleware \ HttpBasicAuthenticationのインスタンスが " –

+0

"と指定されている必要があります。実際の問題とエラーメッセージを含めるように質問を更新する必要があります。 –

答えて

0

documentationに従って、ミドルウェアのSlim 2バージョンをインストールします。

$ composer require tuupola/slim-basic-auth:^1.0 

次に、次の操作を実行できます。

$app = new \Slim\Slim(); 

$app->add(new \Slim\Middleware\HttpBasicAuthentication([ 
    "path" => "/api/generateScratch", 
    "realm" => "Protected", 
    "users" => [ 
     "root" => "t00r", 
     "someone" => "passw0rd" 
    ] 
])); 

$app->get('/api/generateScratch', function() use ($app, $db) { 
    /* Here be dragons... */ 
}); 

すべてのAPIルートを認証する場合は、代わりにこれを行います。私はいくつかの情報を追加

$app->add(new \Slim\Middleware\HttpBasicAuthentication([ 
    "path" => "/api", 
    "realm" => "Protected", 
    "users" => [ 
     "root" => "t00r", 
     "someone" => "passw0rd" 
    ] 
])); 
+0

ミカは、私が "$ app-> add(new \ Slim \ Middleware \ HttpBasicAuthentication( " path "=" "/ api/generateScratch"、 "王国 "=> "保護"、 "ユーザー"=> [ "ルート"=> "t00r"、 "誰か"=> "PASSW0RD" ] ]));" 私はエラーが表示される。.. –

+0

マイSlim v2の例とドキュメントへのリンクです。 Slim v2のプラグインの正しいバージョンを使用していますか? Slim 2アプリケーションでSlim 3プラグインを使用しようとしているようです。 –

+0

ここでv2のプラグインを入手できますか? –

-1

ミカ:私が使用している

  • をスリムv2の私は、私が使用することはできません、以前のスリムなインストールを使用してい

  • $ app-> runまたは$ app = new \ Slim \ Slim();これらの命令はプロジェクトのメインインデックスindex.phpにあるため、