Активная аутентификация MVC WebAPI

Я пишу несколько клиентских приложений (iPhone / android / windows phone), которые будут вызывать контроллер mvc webapi, защищенный Azure ACS (извините за суп из аббревиатур).

Обеспечить безопасность webapi просто с помощью WIF (ну, .net 4.5), и я могу пассивно войти в систему без проблем.

Я также создал приложение POC для iPhone, которое использует веб-браузер для аутентификации пользователя по лазурному IP-адресу AD, а затем с помощью руководства здесь Я могу получить токен javascript.

Теперь я предполагаю, что следующим шагом будет использование JSON Web Token Handler в Интернете. Контроллер, и я должен иметь возможность вытащить данные в порядке.

Однако как долго я могу хранить токен? Должен ли я попробовать конечную точку webapi, и, если она отклонена, заставить пользователя повторно пройти аутентификацию, или есть ли способ установить токен, чтобы он либо никогда не истекал, либо истекал через несколько месяцев?

Спасибо

Росс


person Ross Dargan    schedule 27.02.2013    source источник


Ответы (1)


AFAIK, ACS ограничивает время жизни токена JWT до 24 часов (это не ограничение JWT - это ограничение ACS); после этого вы должны его обновить. Хранение токена безопасности в течение длительного времени, как правило, не является хорошей идеей, поскольку пользователь может быть деактивирован или его утверждения могут измениться. Вы можете узнать, когда истекает срок действия токена, посмотрев на член "exp" токена безопасности. Маркер безопасности, который вы получите от ACS, имеет кодировку BASE64. Если состоит из 2–3 частей, разделенных точкой. Если вы декодируете токен, то вторая часть токена даст вам член "exp". Microsoft предоставила наборы инструментов для ios по адресу https://github.com/WindowsAzure-Toolkits/wa-toolkit-ios. (также существуют наборы инструментов для Android и т. д.).

person Willy Van den Driessche    schedule 28.02.2013