создание базовой аутентификации В Slim framework



Я видел 2 вопроса по SO и несколько тем в google, но это не помогло мне





  1. аутентификация на основе REST API с Slim


  2. Обеспечение безопасности REST API и Slim Framework


Slim предоставляет вам различные методы,такие как PUT,GET, POST и т. д. Я хочу реализовать базовую авторизацию, как это делают многие API.
Первый вопрос: необходим ли SSL? (В настоящее время у меня нет)
Второй вопрос: как это осуществить? как в том, что я должен послать имя пользователя и пароль в заголовках в зашифрованном виде, а затем после этого я должен использовать эту аутентификацию в каждом вызове API
Помощь есть?

939   2  

2 ответов:

Вы можете использовать Slim Authentication и XSS Middleware, например HttpBasic. Так что добавьте дополнительные функции в ваш тонкий фреймворк:

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

Как им пользоваться? Как это:

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

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

Вам действительно следует использовать SSL, потому что вы будете отправлять пароли (или секреты API) через интернет. Если он не зашифрован, любой, кто находится между Пользователем и вашим сервером, может украсть эти учетные данные.

Правильно-вы отправите имя пользователя / pwd в заголовках. Существует много ресурсов для того, как сделать базовую аутентификацию http. Например, это так Вопрос . Вам нужно будет аутентифицироваться при каждом вызове, потому что вы создаете RESTful API (т. е. без состояния, поэтому вы не можете иметь "уполномоченное" государство).

Я не знаю, как вы получите имя пользователя и пароль, но я думаю, что они будут в $app->request->headers()

Comments

    Ничего не найдено.