Установка и настройка Symfony FOSOAuthServerBundle

В данной статье я расскажу (на англ.), как настроить полезнейший бандл FOSOAuthServerBundle.

Наверное первым делом разумнее всего создать бандл:

php app/console generate:bundle --namespace=Acme/ApiBundle --format=yml

И если на все вопросы отвечать кнопкой Enter, а далее:

1. убедимся в наличии

# app/config/config.yml есть 

framework:
    translator: { fallback: en }

2. в файл composer.json добавим:

{
   "require": {
      // ...
      "friendsofsymfony/oauth-server-bundle": "dev-master"

   }
}

3. выполним команду

$ composer update friendsofsymfony/oauth-server-bundle

это загрузит бандл в наш репозиторий.

4. включим бандл в ядре:

<?php
// app/AppKernel.php

public function registerBundles()
{
   $bundles = array(
      // ...
      new FOS\OAuthServerBundle\FOSOAuthServerBundle(),
   );
}

5. создадим модуль:

создадим папку src/Acme/ApiBundle/Entity

и в ней создайте следующие файлы 

6. в файл app/config/config.yml добавляем:

fos_oauth_server:
   db_driver: orm
   client_class: Acme\ApiBundle\Entity\Client
   access_token_class: Acme\ApiBundle\Entity\AccessToken
   refresh_token_class: Acme\ApiBundle\Entity\RefreshToken
   auth_code_class: Acme\ApiBundle\Entity\AuthCode

7. в файл composer.json добавим:

{
   "require": {
      // ...
      "willdurand/propel-typehintable-behavior": "*"

   }
}

8. выполним команду

$ composer update willdurand/propel-typehintable-behavior

если возникнут ошибки, просто почистите кэш.

9.  создайте файл app/config/propel.ini с следующим содержимым:

propel.behavior.typehintable.class = vendor.willdurand.propel-typehintable-behavior.src.TypehintableBehavior

продолжение следует...


15.10.2013 13:21