Download the PHP package tigusigalpa/sber-id-php without Composer

On this page you can find all versions of the php package tigusigalpa/sber-id-php. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package sber-id-php

Sber ID PHP/Laravel Пакет

SberID PHP

Latest Version on Packagist

Laravel пакет для интеграции с Sber ID (OAuth авторизация через Сбер). Поддержка тестового и промышленного окружения.

🌐 Язык: Русский | English

Содержание

Возможности

Требования

Установка

Шаг 1: Установка пакета

Установите пакет через Composer:

Шаг 2: Публикация конфигурации

Опубликуйте конфигурационный файл:

Это создаст файл config/sberid.php в вашем Laravel приложении.

Шаг 3: Регистрация приложения

Зарегистрируйте приложение на портале Sber ID для получения:

Шаг 4: Настройка окружения

Добавьте следующие переменные в файл .env:

Шаг 5: Миграция базы данных (опционально)

Если вы хотите хранить данные Sber ID в таблице пользователей:

Добавьте в миграцию:

Выполните миграцию:

Настройка

Параметры окружения

Переменная Тип По умолчанию Описание
SBERID_ENVIRONMENT string sandbox Окружение: 'sandbox' или 'production'
SBERID_CLIENT_ID string - Ваш Sber ID client ID
SBERID_CLIENT_SECRET string - Ваш Sber ID client secret
SBERID_REDIRECT_URI string - Callback URL (должен совпадать с порталом)
SBERID_SCOPES string openid name email phone Скоупы через пробел
SBERID_REQUEST_REFRESH_TOKEN bool true Запрос refresh token
SBERID_CERTIFICATE_PATH string - Путь к SSL сертификату
SBERID_CERTIFICATE_PASSWORD string - Пароль сертификата
SBERID_VERIFY_SSL bool true Проверка SSL сертификатов
SBERID_SEND_ANALYTICS bool true Отправка аналитических событий
SBERID_TIMEOUT int 10 Таймаут запроса (секунды)

Окружения

Sandbox (Тестовое)

Production (Промышленное)

Использование

Базовое использование со встроенными маршрутами

Пакет предоставляет готовые маршруты:

Пользовательская реализация

1. Перенаправление на Sber ID

2. Обработка Callback

3. Обновление Access Token

Использование на чистом PHP (без Laravel)

Пакет можно использовать в любом PHP приложении без Laravel:

1. Инициализация клиента

2. Перенаправление на Sber ID (login.php)

3. Обработка Callback (callback.php)

4. Обновление токена (refresh.php)

5. Пример защищенной страницы (dashboard.php)

6. Полный пример с базой данных

Кастомизация контроллера (Laravel)

Расширьте стандартный контроллер:

API Справочник

Методы SberIDClient

getAuthorizationUrl(string $state = null, string $nonce = null): string

Генерирует URL авторизации для перенаправления пользователей на Sber ID.

getAccessToken(string $code): array

Обменивает код авторизации на access token, refresh token и ID token.

Возвращает:

refreshAccessToken(string $refreshToken): array

Обновляет истекший access token используя refresh token.

getUserInfo(string $accessToken): array

Получает информацию профиля пользователя используя access token.

confirmAuthenticationSuccess(string $accessToken): bool

Отправляет аналитическое событие в Sber ID (обязательно в production).

decodeIdToken(string $idToken): array

Декодирует и возвращает содержимое ID token.

SberIDException

Класс исключений для ошибок Sber ID API.

Методы:

Распространенные коды ошибок:

Доступные скоупы

Базовые скоупы (Light пакет)

Скоуп Описание Поля
openid Идентификатор пользователя (обязательно) sub
name ФИО family_name, given_name, middle_name
email Email адрес email
phone Номер телефона phone_number
birthdate Дата рождения birthdate
gender Пол gender

Расширенные скоупы (Standard пакет)

Скоуп Описание Поля
identification Паспортные данные identification.*
inn ИНН inn.number
snils СНИЛС snils.number
driving_license Водительское удостоверение driving_license.number
address_reg Адрес регистрации address_reg.*
address_of_actual_residence Адрес проживания Как address_reg
work_address Рабочий адрес Как address_reg
delivery_address Адрес доставки Как address_reg

Professional скоупы

Скоуп Описание
priority_doc Приоритетный документ
citizenship Гражданство
place_of_birth Место рождения
sts СТС
previous_identification Предыдущий паспорт
previous_name Предыдущее ФИО
education Образование
place_of_work Место работы
job_title Должность
marital_status Семейное положение

Примеры использования скоупов

Только авторизация:

Базовый профиль:

KYC (Знай своего клиента):

Служба доставки:

Полный список: Документация Sber ID Scopes

Решение проблем

Проблемы установки

Не удается установить через Composer

Service Provider не найден

Проблемы конфигурации

Неверный Redirect URI

Неверные учетные данные

Проблемы с SSL сертификатом

Проблемы авторизации

Несовпадение параметра state

Код авторизации истек

Неверный refresh token

Отладка

Включите детальное логирование:

Тестирование

Запуск тестов:

Мок клиента для тестирования:

Безопасность

Лучшие практики безопасности

1. Настройка окружения

Всегда используйте HTTPS в production:

Включите проверку SSL:

Используйте production окружение для боевых сайтов:

2. Управление учетными данными

Никогда не коммитьте учетные данные в систему контроля версий:

Защитите файл .env:

3. Хранение токенов

Шифруйте токены в базе данных:

Никогда не раскрывайте токены в URL или логах:

4. Валидация параметра State

Всегда проверяйте параметр state:

Используйте криптографически безопасные случайные строки:

5. Безопасность сессий

Настройте безопасные параметры сессий:

6. Безопасность сертификатов

Защитите SSL сертификаты:

Храните сертификаты вне веб-корня:

7. Валидация входных данных

Проверяйте все параметры callback:

8. Ограничение частоты запросов

Реализуйте rate limiting на маршрутах авторизации:

9. Обработка ошибок

Не раскрывайте чувствительную информацию в ошибках:

10. Безопасность базы данных

Используйте параметризованные запросы (Laravel делает это по умолчанию):

Соображения безопасности

Время жизни токенов

Разрешения скоупов

Управление сертификатами

Отслеживание аналитики

Соответствие требованиям

Защита данных: Этот пакет обрабатывает персональные данные. Обеспечьте соответствие:

Согласие пользователя:

Сообщение об уязвимостях безопасности

Пожалуйста, не сообщайте об уязвимостях безопасности через публичные GitHub issues.

Если вы обнаружили уязвимость безопасности, отправьте email на: [email protected]

Включите:

Сроки ответа:

Поддержка

Проблемы с пакетом

Проблемы с Sber ID API

Ссылки на документацию

Лицензия

Лицензия MIT. Подробности в файле LICENSE.

Автор

Отказ от ответственности

Этот пакет не является официальным продуктом Сбербанка. Используйте на свой риск.


All versions of sber-id-php with dependencies

PHP Build Version
Package Version
Requires php Version ^7.4|^8.0|^8.1|^8.2|^8.3
illuminate/support Version ^8.0|^9.0|^10.0|^11.0|^12.0
illuminate/http Version ^8.0|^9.0|^10.0|^11.0|^12.0
guzzlehttp/guzzle Version ^7.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package tigusigalpa/sber-id-php contains the following files

Loading the files please wait ...