Во внешнем приложении должна быть кнопка или ссылка, вроде «Войти через Admin24», «Подключить Admin24».
При нажатии на кнопку должен открываться URL:
https://subdomain.admin24.app/oauth/authorize?response_type=code&client_id=CLIENT_ID&redirect_uri=REDIRECT_URL&scope=SCOPE&state=STATE где subdomain – это поддомен вашей организации в Admin24.
В этом URL должны быть подставлены значения:
- CLIENT_ID – Client ID приложения, который был создан в разделе «Настройки» на вкладке «API».
- REDIRECT_URL – URL приложения, который был создан в разделе «Настройки» на вкладке «API».
- SCOPE – здесь должны быть указаны права, которые будут запрашиваться. Права следует указывать через пробел, например, если заявки – tickets, а пользователи – users, то правильно указанные права будут выглядеть так: «tickets users».
- STATE – можно задать любое значение. Это значение придет в запросе на REDIRECT_URL. С помощью STATE происходит защита от CSRF-атак.
После перехода по данному URL в браузере откроется страница с авторизацией в Admin24:
При нажатии на кнопку «Авторизовать» пользователь будет перенаправлен на страницу внешнего приложения:
http://[домен вашей интеграции]/?code=CODE&state=STATE
в строке запроса будут
- CODE – будет использоваться для получения токена доступа.
- STATE – значение такое же, как и в запросе на URL: https://subdomain.admin24.app/oauth/authorize?response_type=code&client_id=CLIENT_ID&redirect_uri=REDIRECT_URL&scope=SCOPE&state=STATE
Далее можно получить токен доступа. Пример с axios: