2013-04-28 17 views
5

avevo visto 2 domande sul SO e diversi argomenti su Google, ma che non mi ha aiutatocreazione di autenticazione di base in quadro Slim

  1. Authentication Based REST API with Slim
  2. Securing a REST API and Slim Framework

Slim vi fornisce diversi metodi come PUT, GET, POST ecc. Voglio implementare l'autorizzazione di base come essere implementata da molte API. Prima domanda: SSL è necessario? (Non ho al momento) Seconda domanda: come implementarlo? come in ho bisogno di inviare nome utente e password nelle intestazioni in forma crittografata e dopo questo devo usare questa autenticazione in ogni chiamata API Qualsiasi aiuto?

risposta

6

È possibile utilizzare Slim autenticazione e XSS Middleware, per esempio HttpBasic. Così aggiunti gli extra per il tuo Slim quadro:

https://github.com/codeguy/Slim-Extras/tree/master/Middleware

Come si usa? Come questo:

use \Slim\Slim; 
use \Slim\Extras\Middleware\HttpBasicAuth; 

$app = new Slim(); 
$app->add(new HttpBasicAuth('theUsername', 'thePassword')); 
1

È consigliabile utilizzare SSL perché invierà password (o segreti API) su Internet. Se non è crittografato, chiunque tra l'utente e il server può rubare quelle credenziali.

Proprio così - invierai il nome utente/pwd nelle intestazioni. Ci sono molte risorse là fuori per come fare l'autenticazione di base http. Ad esempio, this SO question. Avrai bisogno di autenticarti su ogni chiamata perché stai facendo un'API RESTful (cioè senza stato, quindi non puoi avere uno stato 'autorizzato').

non sono sicuro fuori mano come si dovrebbe ottenere il nome utente e la password, ma penserei che sarebbero in $app->request->headers()

Problemi correlati