Open ID Connect для нативных приложений. Мне нужно получить действительный ID-токен без запроса пользователя после первоначальной авторизации?
Я использую системный браузер для аутентификации. Поставщик удостоверений - Google
меры
1 - пользователь авторизуется путем ввода имени пользователя и пароля. На этом этапе я получаю код аутентификации.
2 - Я вызываю конечную точку токена и получаю токен доступа, токен идентификатора и токен обновления.
Когда срок действия идентификационного токена истекает, мне нужно получить новый действительный идентификационный токен. Мне нужно сделать это, не предлагая пользователю ввести свои учетные данные.
Вопрос - можно ли получить новый идентификатор токена без запроса пользователя? Обновление токена не всегда возвращает идентификатор токена, и его поведение не гарантируется согласно спецификации открытого идентификатора.
Пробное решение
Вызов конечной точки авторизации с помощью "prompt = none, login_hint = username". Это все еще перенаправляет в браузер и возвращается в приложение.
Ответы с ошибкой
AuthorizationException: {"тип":1,"код":1008,"ошибка":"взаимодействие_required"}
1 ответ
prompt=none
способ идти; когда вы получите interaction_required
это означает, что сеанс у провайдера истек и пользователю необходимо снова войти в систему; Обойти это невозможно, поскольку вам действительно нужно снова аутентифицировать пользователя, чтобы предотвратить злоупотребления. Если сеанс единого входа все еще действителен - каким он должен быть в течение короткого периода времени - вы бы получили свой новый id_token
,