#authentication #cakephp #cakephp-3.0
#аутентификация #cakephp #cakephp-3.0
Вопрос:
Я хотел бы добавить API в существующее приложение, используя аутентификацию Auth component и Form scheme, используя базовую аутентификацию.
Я думаю, что хотел бы иметь такую конфигурацию, но я не уверен, можно ли вводить настройки для каждой схемы.
В качестве альтернативы, есть ли способ изменить настройки компонента аутентификации на основе маршрута? Например, используйте Form based, если расширение url не является json, и в этом случае используйте Basic?
$this->loadComponent('Auth', [
'authenticate' => [
'Form' => [
'fields' => [
'username' => 'email',
'password' => 'password'
],
'loginAction' => [
'controller' => 'Users',
'action' => 'login'
],
'storage' => 'Session',
'unauthorizedRedirect' => $this->referer()
],
'Basic' => [
'fields' => [
'username' => 'username',
'password' => 'api_key'
],
'storage' => 'Memory',
'unauthorizedRedirect' => false
]
],
'loginAction' => [
'controller' => 'Users',
'action' => 'login'
],
]);
Комментарии:
1. В тот момент, когда вы это делаете, я думаю, у вас должен быть доступ к
$this->request->is('json')
?2. Кроме того, если вы используете более свежую версию CakePHP (вы отметили 3.0, но люди часто делают это, даже если используют более новую версию), и вы не работаете с существующим приложением, которое полагается на компонент аутентификации, вы можете вместо этого изучить новый плагин промежуточного программного обеспечения авторизации.