Авторизация при интеграции по API: различия между версиями

Материал из Касса
Перейти к навигации Перейти к поиску
Строка 1: Строка 1:
== Общие сведения ==
'''API''' (Application Programming Interface или интерфейс программирования приложений) — это совокупность инструментов и функций в виде интерфейса для создания новых приложений, благодаря которому одна программа будет взаимодействовать с другой.
'''API''' (Application Programming Interface или интерфейс программирования приложений) — это совокупность инструментов и функций в виде интерфейса для создания новых приложений, благодаря которому одна программа будет взаимодействовать с другой.


 
* Для работы с API сервиса БИФИТ Касса, пользователю необходимо получить токен доступа ('''access_token''').  
Для работы с API сервиса БИФИТ Касса, пользователю необходимо получить токен доступа. Генерация токена происходит по правилам авторизации Oauth2.
* Генерация токена происходит по правилам авторизации Oauth2.




Токены предоставляют собой средство авторизации для каждого запроса от клиента к серверу. Токены (и соответственно сигнатура токена) генерируются на сервере основываясь на секретном ключе(который хранится на сервере) и payload'e. Токен в итоге хранится на клиенте и используется при необходимости авторизации какого-либо запроса.
Токены предоставляют собой средство авторизации для каждого запроса от клиента к серверу. Токены (и соответственно сигнатура токена) генерируются на сервере основываясь на секретном ключе(который хранится на сервере) и payload'e. Токен в итоге хранится на клиенте и используется при необходимости авторизации какого-либо запроса.
'''Open ID Connect Provider''' — важнейший объект всей конструкции централизованного сервиса аутентификации, он также может называться Security Token Service, Identity Provider authorization server и т. д. Различные источники называют его по-разному, но по смыслу это сервис, который выдает токены клиентам.


Основные функции:
Основные функции:
*Аутентифицировать пользователей, используя внутреннее хранилище пользователей или внешний источник (например, Active Directory)
* Аутентифицировать пользователей, используя внутреннее хранилище пользователей или внешний источник (например, Active Directory)
*Управлять клиентами (хранить) и аутентифицировать их
* Управлять клиентами (хранить) и аутентифицировать их
*Предоставлять управление сессией и возможность реализации Single sing-on
* Предоставлять управление сессией и возможность реализации Single sing-on
*Выдавать identity-токены и access-токены клиентам
* Выдавать identity-токены и access-токены клиентам
*Проверять ранее выданные токены
* Проверять ранее выданные токены
 
 
'''Identity Token''' — подтверждение аутентификации. Этот токен содержит минимальный набор информации о пользователе.
 
 
'''Access Token''' — информация, что конкретному пользователю разрешается делать. Клиент запрашивает Access Token и затем использует его для доступа к ресурсам (Web APIs). Access Token содержит информацию о клиенте и пользователе, если она присутствует. Важно понимать, что есть такие типы авторизации, при которых пользователь в процессе непосредственно не участвует
 
 
При авторизации по api с сервисами БИФИТ, можно использовать программу Postman.
 
 
Postman — это HTTP-клиент для тестирования API. HTTP-клиенты тестируют отправку запросов с клиента на сервер и получение ответа от сервера.
 
 
Для начала необходимо получить пройти аутентификацию на сервере. Для этого необходимо получить Access Token.




Перейдите в <b>[https://kassa.bifit.com/ Личный кабинет БИФИТ Бизнес]</b> и пройдите авторизацию. После прохождения авторизации в браузере нажмите кнопку '''''F12'''''. При нажатии на кнопку '''''F12''''' перед вами откроется окно кода страницы. После этого необходимо найти в списке строчку '''Token''' и нажать на нее. В правой части экрана в разделе '''Request headers''' найдите и скопируйте '''Access_token'''.
'''access_token''' — авторотационный ключ (обычно просто набор символов), предъявление которого является пропуском к защищенным ресурсам. Обращение к ним в самом простом случае происходит по HTTPS. Используется при работе по API


{{ Note |'''Важно!''' '''Access_token''' копируйте без слова Bearer, нужен только зашифрованный токен.|800}}
'''refresh_token''' — ключ, по которому можно получить access token с помощью HTTP-запроса, аналогично авторизации по логину и паролю


'''expires_in''' - время работы (протухания) access_token в секундах. В сервисе БИФИТ Бизнес составляет 12 часов или 43 200 секунд - 1 секунда = 43 199 секунд.


После этого перейдите в Postman. Подготовьте '''POST''' запрос следующего вида:
== Запрос на авторизацию по Oauth2 ==


base URL: https://kassa.bifit.com/cashdesk-api/v1/oauth/token
URL: https://kassa.bifit.com/cashdesk-api/v1/oauth/token


body запроса должно передаваться как Content-Type: form-data и содержать следующие параметры:
body запроса передаваться как Content-Type: form-data и содержать следующие параметры:


  "grant_type" : "password"
  "grant_type" : "password"

Версия 10:32, 3 февраля 2022

Общие сведения

API (Application Programming Interface или интерфейс программирования приложений) — это совокупность инструментов и функций в виде интерфейса для создания новых приложений, благодаря которому одна программа будет взаимодействовать с другой.

  • Для работы с API сервиса БИФИТ Касса, пользователю необходимо получить токен доступа (access_token).
  • Генерация токена происходит по правилам авторизации Oauth2.


Токены предоставляют собой средство авторизации для каждого запроса от клиента к серверу. Токены (и соответственно сигнатура токена) генерируются на сервере основываясь на секретном ключе(который хранится на сервере) и payload'e. Токен в итоге хранится на клиенте и используется при необходимости авторизации какого-либо запроса.

Основные функции:

  • Аутентифицировать пользователей, используя внутреннее хранилище пользователей или внешний источник (например, Active Directory)
  • Управлять клиентами (хранить) и аутентифицировать их
  • Предоставлять управление сессией и возможность реализации Single sing-on
  • Выдавать identity-токены и access-токены клиентам
  • Проверять ранее выданные токены


access_token — авторотационный ключ (обычно просто набор символов), предъявление которого является пропуском к защищенным ресурсам. Обращение к ним в самом простом случае происходит по HTTPS. Используется при работе по API

refresh_token — ключ, по которому можно получить access token с помощью HTTP-запроса, аналогично авторизации по логину и паролю

expires_in - время работы (протухания) access_token в секундах. В сервисе БИФИТ Бизнес составляет 12 часов или 43 200 секунд - 1 секунда = 43 199 секунд.

Запрос на авторизацию по Oauth2

URL: https://kassa.bifit.com/cashdesk-api/v1/oauth/token

body запроса передаваться как Content-Type: form-data и содержать следующие параметры:

"grant_type" : "password"
"username" : номер телефона (вводится как 79999999999)
"password" : вставить скопированный Access_token
"client_id" : "cashdesk-rest-client"
"client_secret" : "cashdesk-rest-client"

После этого нажмите кнопку Send.

Далее при создании других запросов, вы будете проходить аутентификацию согласно созданному логину и паролю в Postman.