У меня есть экземпляр Identity Server Thinktecture v3 в Azure, размещенный как WebApp. В общем, он работает так, как ожидалось, но у меня есть некоторые проблемы, пытающиеся использовать токен обновления через токен идентификатор/соединение/токен конечная точка с refresh_token тип гранта. У меня есть клиент, который использует поток кода авторизации, и это настройка, связанную с параметрами токенов обновления в отношении данного клиента:Identity server 3 проблема обновления токена при развертывании в Azure
// refresh token options
AccessTokenType = AccessTokenType.Jwt,
AccessTokenLifetime = 3600,
RefreshTokenUsage = TokenUsage.OneTimeOnly, // Every time generates new refresh token. Not only access token.
RefreshTokenExpiration = TokenExpiration.Sliding,
SlidingRefreshTokenLifetime = 1296000
для людей, которые работали с этим ясно, что я использую JWT жетоны и мой маркер доступа действителен в течение 1 часа, а после этого, без необходимости повторного входа в систему на Identity Server, я могу использовать токен обновления и получить новый доступ и обновить токены. Мой токен обновления должен быть действительным в течение 15 дней (1296000 сек.). Что на самом деле происходит, так это то, что он работает не так, как ожидалось. По какой-то причине, когда я решаю сделать звонок к моему REST API (полагающейся стороне Identity Server) через полтора часа после предыдущего, я получаю ответ invalid_grant.
Я решил немного протестировать его и пропустил токен доступа через 2 минуты и обновил токен в 10. Ну, тогда я попытался сделать звонок через 1, 2, 3 минуты после токена доступа истек, и он работал, как ожидалось. Я действительно не хочу делать такого рода тестирование с 1-часовым токеном доступа, поэтому я решил спросить здесь, есть ли у кого-то это раньше.
Я знаю на клиенте, когда мой токен доступа истек. Именно поэтому я использую токен обновления, чтобы получить новый токен доступа и использовать его. Я звоню в конечную точку токена обновления, но по какой-то причине такой подход перестает работать в какое-то время. – user2128702
Что перестает работать? Нажатие конечной точки токена на IdSrv с текущим токеном обновления, чтобы получить как новый токен доступа, так и новый токен обновления? Или ударить свой API с помощью токена доступа? –
Да, вызов конечной точки маркера возвращает ошибку invalid_grant. Он больше не распознает токен обновления. – user2128702