PHPackages                             runet-id/api-client-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. runet-id/api-client-bundle

AbandonedArchivedSymfony-bundle

runet-id/api-client-bundle
==========================

RUNET-ID API Client Bundle

1.0.0(9y ago)0473MITPHPPHP &gt;=5.4.0

Since May 19Pushed 8y ago1 watchersCompare

[ Source](https://github.com/vudaltsov-legacy/runet-id-api-client-bundle)[ Packagist](https://packagist.org/packages/runet-id/api-client-bundle)[ RSS](/packages/runet-id-api-client-bundle/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependencies (1)Versions (9)Used By (0)

RUNET-ID API Client Bundle
==========================

[](#runet-id-api-client-bundle)

Установка:
----------

[](#установка)

`$ composer require runet-id/api-client-bundle:^1.0.0@alpha`

Минимальная конфигурация
------------------------

[](#минимальная-конфигурация)

```
runet_id_api_client:
    container:
        default_credentials: default
        credentials:
            default:
                key:    demokey
                secret: demosecret
```

Описание
--------

[](#описание)

Центральный для бандла класс - `RunetId\ApiClientBundle\ApiClientContainer`. Он позволяет работать с несколькими ключами одновременно и поддерживает кеширование (по умолчанию включено файловое кеширование в стандартную папку симфони `%kernel.cache_dir%/runet_id_api_client`).

Через конфигурацию в разделе `container:credentials` можно указать несколько профилей. В `default_credentials` указывается имя профиля по умолчанию (обязательный параметр).

Также в контейнере через `RunetId\ApiClientBundle\ApiClientContainer::setCurrentName($name)` можно задать "текущий" профиль (например, при помощи `RequestListener`, если выбор профиля зависит от параметров запроса к приложению). Если текущий профиль не был задан, метод `RunetId\ApiClientBundle\ApiClientContainer::getCurrent()` возвращает профиль по умолчанию.

Рекомендуется всегда использовать метод `RunetId\ApiClientBundle\ApiClientContainer::getCurrent()`, так как это обеспечивает максимальную гибкость.

Алиасы для быстрого доступа к сервисам (рекомендуется)
------------------------------------------------------

[](#алиасы-для-быстрого-доступа-к-сервисам-рекомендуется)

```
services:
    api_container:  "@runet_id.api_client.container"

    api:
        class: RunetId\ApiClientBundle\ApiCacheableClient
        factory: [ "@api_container", getCurrent ]

# создаем глобальную переменную в twig
# для быстрого доступа к апи из шаблонов
twig:
    globals:
        api: "@api"
```

Пример настройки авторизации
----------------------------

[](#пример-настройки-авторизации)

### Подключаем `js`:

[](#подключаем-js)

```

    var runetIdApiClient = new RunetId;

    runetIdApiClient.init({
        apiKey: '{{ api.options.key }}',
        backUrl: '{{ url('auth.token') }}'
    });

```

### Код кнопки для авторизации

[](#код-кнопки-для-авторизации)

```

    Войти через &ndash;RUNET&mdash;&mdash;ID&ndash;

```

### Пример контроллера

[](#пример-контроллера)

```
