Изменить время истечения токена API OAuth - PullRequest
0 голосов
/ 25 июня 2019

Acumatica Версия: 2019R1

Я хочу изменить время истечения срока действия предоставленных токенов OAuth с помощью Подключенного приложения в Acumatica.В настоящее время мой токен предоставляется с использованием областей «api» и «offline_access», чтобы иметь доступ к API и получить токен обновления.

Я пытаюсь избежать использования любого типа сеанса / файла cookieна основе аутентификации, поскольку моя система будет взаимодействовать исключительно с API-интерфейсом Acumatica REST из полного внешнего источника и не сможет хранить какие-либо данные, относящиеся к сеансу / файлам cookie.

Моя конечная цель - дать моему приложению определенный токендля абсолютного одновременного доступа без необходимости обновления, но, скорее всего, достаточно более длительного срока действия.

Для справки я просмотрел все справочные документы и все курсы Acumatica Developer Training, нони один из них явно не указывает, является ли протокол OAuth редактируемым.

Я смотрел в документации OAuth 2.0 Framework на https://tools.ietf.org/html/rfc6749,, но пока он показывает, что можно изменить время истечения токена /полностью удалить срок действия, он не имеет конкретной информации о том, как изменитьэто, поскольку Acumatica внедрила платформу.

Вот тело запроса x-www-form-urlencoded, отправляемое для предоставления начального токена:

grant_type: <password>
client_id: <applicationID>@<company>
client_secret: <secret>
username: <username>
password: <password>
scope: api offline_access

Вот ответ, полученный от обоихисходный запрос токена, а также каждый запрос на обновление токена:

{
    "access_token": "<accesstoken>",
    "expires_in": 3600,
    "token_type": "Bearer",
    "refresh_token": "<refreshtoken>"
}

1 Ответ

0 голосов
/ 26 июня 2019

Из того, что я искал, кажется, что Acumatica использует IdentityServer3 для реализации API-интерфейса OAuth для подключенных приложений.Клиенты вводятся через экран SM303010, где вы можете установить ClientSecrets и RedirectURI.Атрибут в IdentityServer3 для изменения будет AccessTokenLifetime.

https://identityserver.github.io/Documentation/docsv2/configuration/clients.html

Значение по умолчанию составляет 3600 секунд (один час) и, по-видимому, не дает вам точки входа для изменения.

Я бы уточнил в службе поддержки,но если он недоступен, вы всегда можете запросить добавление этой функции на https://feedback.acumatica.com

...