0

Я пытаюсь использовать следующую статью, чтобы практиковать функции входа и регистрации с клиентской стороны с использованием механизма проверки подлинности на основе AngularJS и токенов. Однако в статье не упоминается, как обрабатывать функции маркера выхода и истекшего срока действия с клиентской стороны, используя AngularJS.Функция выхода из клиентской стороны AngularJS

Мои вопросы: 1) Если я хочу добавить глобальную кнопку выхода HTML, и если пользователь нажмет эту кнопку, то как я могу очистить токен аутентификации с клиентской стороны Угловые скрипты, а также со стороны сервера (.Net/C#)?

2) Я установил допустимый период для токена аутентификации (со стороны сервера .NEt/C#) до 60 минут. Если браузер не работает (не взаимодействует с пользователем вообще) через 60 минут или более, то как пользователь автоматически загружает сайт и направляется на страницу входа в систему, если он возобновляет свою работу в браузере после 60 или более минут, интервал ожидания?

Заранее спасибо.

Статья ссылка:

Getting started with AngularJS and ASP.NET MVC - The long awaited Part Three


Некоторые краткие сведения о проверке подлинности на основе маркеров в статье автор использует:

POST маркер тело запроса:

grant_type: пароль имя пользователя: [email protected] (или что вы зарегистрировали) пароль: Пароль1! (Или любой пароль, который вы установите при регистрации)

И токенов ответ:

{ "access_token": "R-AejC88wImTKUulwlZBRsR620zXuHcrjV26UGObVjl5s9aqJIhs2hzt60CdLhL0hXNR-kyLTgrTfiMDV4JZJsmC1jV3MQHKcScsW6lYAMz1kegSyQiSfRHVj8W1E76x9uiHYJVIWhwA_RH7GkTn3K_Z0ugV_0qsSd1cWZ5qpqRedrS1vbHNIr7PR-FvAcKGA5c0S7ffadD8TP6N8OX8AyEg2t5rxppAeT2AlqlY3G5HdJqDkPgXQx5pL_xXRWkQCuOhIgUCm-6TDAksNf-EJ7HzPKD7nl7KU8Pd66rQO56p_vtq6eOO9OtgAmN8FviR-gNKGHCsz4udPrAKTExF_Ht4hBpbLoiGIXIbVUpzTeB-RMZUMMcRgByo4tCELjd41pV0mjaXHS6s7mTuwlgGmxiAU5AoYgNTXVOe9YegZMvjW_lAIUw0YlZ0m7RAiPOTTDlRzmV1ntm3YGvAN9h9_m027twqfGz5YsHsbh3RYW8", «token_type ":" предъявитель ", «expires_in»: 1209599, «userName»: «[email protected]», «.issued»: «Вс, 16 ноября 2014 года 22:55:45 GMT», «.expires»: «Солнце, 30 ноябрь 2014 22:55:45 GMT» }

+0

Где вы храните маркер на стороне клиента? LocalStorage? Вы можете удалить его оттуда на кнопку «Выход». – jpgrassi

+0

Спасибо за помощь. –

ответ

1

Q1: а jpgrassi сказал, вы можете удалить/установить неопределенный маркер пользователя, так как вы сохранили его (пример случай: SessionService.token) на„выходе из системы“событие.

Q2: учитывая, что вы знаете, как настроить Owin, вы можете изменить AccessTokenExpireTimeSpan на OAuthAuthorizationServerOptions. Пример:

... 
OAuthAuthorizationServerOptions OAuthServerOptions = new OAuthAuthorizationServerOptions() { 
    AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(minutes) 
}; 
... 
app.UseOAuthAuthorizationServer(OAuthServerOptions); 
+0

Благодарим за помощь. Я храню токен, используя localStorage, и очищаю его при выходе пользователя из системы. –

Смежные вопросы