Open ID Connect для нативных приложений. Мне нужно получить действительный ID-токен без запроса пользователя после первоначальной авторизации?

Я использую системный браузер для аутентификации. Поставщик удостоверений - Google

меры

1 - пользователь авторизуется путем ввода имени пользователя и пароля. На этом этапе я получаю код аутентификации.

2 - Я вызываю конечную точку токена и получаю токен доступа, токен идентификатора и токен обновления.

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

Вопрос - можно ли получить новый идентификатор токена без запроса пользователя? Обновление токена не всегда возвращает идентификатор токена, и его поведение не гарантируется согласно спецификации открытого идентификатора.

Пробное решение

Вызов конечной точки авторизации с помощью "prompt = none, login_hint = username". Это все еще перенаправляет в браузер и возвращается в приложение.

Ответы с ошибкой

AuthorizationException: {"тип":1,"код":1008,"ошибка":"взаимодействие_required"}

1 ответ

prompt=none способ идти; когда вы получите interaction_required это означает, что сеанс у провайдера истек и пользователю необходимо снова войти в систему; Обойти это невозможно, поскольку вам действительно нужно снова аутентифицировать пользователя, чтобы предотвратить злоупотребления. Если сеанс единого входа все еще действителен - каким он должен быть в течение короткого периода времени - вы бы получили свой новый id_token,

Другие вопросы по тегам