Я реализовал безопасность для своих веб-api (индивидуальных учетных записей), как обсуждалось here.Атрибуты авторизации веб-API ASP.NET, срок действия которых истекает раньше
У меня есть сайт на godaddy (общий хостинг) и его рабочий штраф. Когда я запрашиваю токен, используя url «domain.com/token», я получаю токен с датой истечения в течение 15 дней. Я поставил это в "StartupAuth.cs" с помощью
AccessTokenExpireTimeSpan = TimeSpan.FromDays(15)
например:
{
"access_token":"qwertyuiop.....",
"token_type":"bearer",
"expires_in":1209599,
"userName":"[email protected]",
".issued":"Wed, 11 Feb 2015 01:00:00 GMT",
".expires":"Thu, 26 Feb 2015 01:00:00 GMT"
}
(я кладу значения в коде выше, но вы получите представление о поле ".expires"
.5 минут после получения токена, когда я пытаюсь и доступ к «получить» или «пост» или какой-либо метод в моем API пропускаемой авторизации: однонаправленного маркер в заголовке как:
Authorization: Bearer qwertyuiop.....
Я получаю эту ошибку:
{"Message":"Authorization has been denied for this request."}
Хотя его только что 5 минут и маркер должен длиться 15 дней, он истекает в течение 5 минут. Когда я запрашиваю какой-либо метод «get»/«post» в течение 5 минут, я получаю правильный ответ с моими данными в JSON. Короче говоря, авторизация удалась.
Я повторил это поведение, проверив его через Fiddler, плагин REST для Chrome и через мобильное приложение, которое использует API.
У меня есть значения web.config для сессии, как показано ниже (я думал, связанный с ним)
<sessionState timeout="180" />
Обратите внимание, что формирует проверки подлинности не используется, поэтому время ожидания на этом участке в web.config не надо.
Любая идея, что происходит? Этот тайм-аут заставляет пользователей мобильных приложений, которые используют API для повторного входа в систему, время от времени. Любая помощь будет оценена по достоинству.
Спасибо.
У меня такая же проблема !! Любая помощь кому-нибудь? –
Добавление машинного ключа сделало трюк. why_not также упомянул об этом ниже. Как отметить сообщение why_not в качестве ответа? –