Токен OKTA для доступа к API

Мне нужен токен (или ключ) для использования в запросе API в качестве токена-носителя. Идея состоит в том, чтобы установить его один раз для пользователя и получить доступ к ресурсам без входа в систему. Я пытался использовать для него access_token, но максимальный срок действия - 1 день. Итак, мне нужен токен: - Срок действия> 30 дней - который может однозначно идентифицировать пользователя - Содержит данные аутентификации, такие как роли и группы. Есть идеи, как это можно сделать с помощью OKTA?


person Aram Aslanyan    schedule 14.09.2018    source источник


Ответы (1)


Если вы используете OAuth вместе с Okta, вы можете использовать refresh_token (который может иметь гораздо более длительный срок действия, включая неограниченный), чтобы получить новый access_token.

Таким образом, вам не потребуется взаимодействие с конечным пользователем (владельцем ресурса). Но когда срок действия access_token истечет, вам нужно будет получить новый, используя refresh_token.

person afitnerd    schedule 14.09.2018
comment
Спасибо за ответ. Это один из вариантов, о котором я думал. Обратной стороной этого является то, что клиент должен знать об этом: клиент должен использовать новый токен. Как будто это невозможно сделать тихо на бэкэнде. Я ищу решение, в котором клиент не знает об истечении срока, например, 30 дней: клиент просто использует один и тот же токен для доступа к ресурсам без запроса на вход. - person Aram Aslanyan; 14.09.2018
comment
Чтобы убедиться, что мы находимся на одной странице, будет один логин. С этого момента, когда срок действия токена доступа истекает, токен обновления используется для получения нового токена доступа. Цель этого подхода - гарантировать, что вам не потребуется никакого дополнительного взаимодействия с пользователем (например, входа в систему) в течение срока действия токена обновления. - person afitnerd; 17.09.2018