Этот поток может помочь вам. Это просто псевдокод.
Пользователь входит в систему со стороны клиента. Вы перенаправляете на домашнюю страницу после сохранения токена в локальном хранилище.
http.post("mysite.me/api/token", userCredentialsDto).subscribe(token => {
localstorage.save(token);
redirectTo["/home"];
});
Запрос отправляется на TokenController.cs:
[HttpPost]
public string Post(UserCredentialsDto userCreds)
{
_validationService.validate(userCreds);
return _jwtService.CreateToken(userCreds);
}
Когда вы переходите на домашнюю страницу или на любую другую страницу, которую хотите, вы можете получить токен доступа из вашего локального хранилища, прикрепив этот токен к заголовку каждого запроса перед отправкой на сервер .
Здесь следует отметить, что токен доступа - это то, что аутентифицирует пользователя, поэтому, если срок действия вашего токена доступа истекает, ваш пользователь аутентифицируется . По истечении срока действия токена доступа вы можете использовать токен обновления, чтобы обновить свой токен и продолжить использовать ваше приложение.
JWT кодируется в base64. Вы можете легко расшифровать его на стороне клиента. Также ядро .Net автоматически связывает требования JWT с объектом HttpContext.User после успешной аутентификации .