Работа с OAuth2

Здесь вы узнаете как подключить OAuth 2.0 к вашему сайту, и использовать Papkov ID как систему авторизации, но для начала, требуется зарегистрировать аккаунт разработчика.
Как начать?
1

Регистрация аккаунта разработчика

Заполните форму на странице регистрации аккаунта разработчика, подтвердите свои данные и получите статус разработчика 1 уровня

2

Интеграция Papkov Auth

Используйте наш REST API для авторизации. Документация включает примеры на PHP, JavaScript, Papkov Crossplatform Script и других языках

Получение ключа авторизации

После регистрации аккаунта разработчика, из Papkov ID вы можете получить личный приватный API ключ

Шаг 1.

Откройте панель разработчика и найдите в информации ваш Secret Key

Получение Secret Key шаг 1
Шаг 2.

Потом нажмите на "Создать ключ", и в открытом окне введите название компании, какие данные она будет обрабатывать, и прочее...

Создание ключа шаг 2
Шаг 3.

После получения приватного ключа, вы можете использовать его в OAuth 2.0 для авторизации https://id.vovapapkov.ru/api.php?action=generate

Запрос (POST)
{
    "auth_key": "здесь_ключ_авторизации",
    "secret_key": "здесь_ваш_секретный_ключ"
}
Ответ
{
    "status": "success",
    "redirect": "https://id.vovapapkov.ru/api.php?login=ВРЕМЕННЫЙ_АЙДИ_АВТОРИЗАЦИИ",
    "id": "ВРЕМЕННЫЙ_АЙДИ_АВТОРИЗАЦИИ"
}
Получение статуса авторизации
Шаг 1.

Для проверки статуса авторизации, нужно использовать long polling запрос на https://id.vovapapkov.ru/api.php?action=checkauth

Запрос (POST)
{
  "temp_key": "ВРЕМЕННЫЙ_АЙДИ_АВТОРИЗАЦИИ",
  "secret_key": "здесь_ваш_секретный_ключ"
}

При автосбросе лонг пуллинга (будет сбрасываться каждую минуту), ответ будет такой:

Ответ
{
    "status": "waiting",
    "userid": null
}

При успешной авторизации, ответ будет такой:

Ответ
{
  "status": "success",
  "forever_key": "ВЕЧНЫЙ_КЛЮЧ_ПОЛЬЗОВАТЕЛЯ",
  "userid": айди_авторизованного_пользователя
}

ВАЖНО! Вечный ключ пользователя используется для получения его доступных данных через API

Также, можно в ссылке на переадресацию вписать {id} плейсхолдер - ссылка сама заменит его на временный айди авторизации

Получение данных через вечный ключ
Шаг 1.

Единый эндпоинт для получения данных: https://id.vovapapkov.ru/api.php?action=check

  • Типы данных:
  • userinfo - получение малой информации (имя пользователя, айди)
  • balance - получение баланса пользователя
  • mail - получение почты пользователя
  • number - получение номера телефона пользователя
  • telegram - получение телеграма пользователя
  • Чтобы получить данные пользователя, используйте тело запроса

    Запрос (POST)
    {
      "forever_key": "ПОЛУЧЕННЫЙ_ВЕЧНЫЙ_КЛЮЧ_ПОЛЬЗОВАТЕЛЯ",
      "secret_key": "здесь_ваш_секретный_ключ",
      "get": "тип_данных" // userinfo/balance/mail/number/telegram
    }

    При ошибке вечного ключа ответ будет:

    Ответ
    {
        "status": "error",
        "message": "Неверный вечный ключ"
    }

    При успехе, ответы будут такие:

    Ответ для типа userinfo
    {
      "status": "success",
      "id": айди_пользователя,
      "username": "имя_пользователя"
    }
    Ответ для типа balance
    {
      "status": "success",
      "balance": баланс_пользователя
    }
    Ответ для типа mail
    {
      "status": "success",
      "mail": "почта_пользователя"
    }
    Ответ для типа number
    {
      "status": "success",
      "number": "номер_телефона_пользователя"
    }
    Ответ для типа telegram
    {
      "status": "success",
      "telegramid": "айди_телеграм_аккаунта"
    }