Аутентификация с использованием Secret String с Angular 7 и Net 2.1 - PullRequest
0 голосов
/ 19 декабря 2018

Я следую этому учебному пособию "Angular 7 - Пример регистрации пользователя и регистрации и учебное пособие".Я хотел бы знать, где хранится app.Settings.secret.Ниже показано, как объявлены appSettings.Я не могу найти, где хранится строка «Secrets»

  public UsersController(
        IUserService userService,
        IMapper mapper,
        IOptions<AppSettings> appSettings)
    {
        _userService = userService;
        _mapper = mapper;
        _appSettings = appSettings.Value;
    }

Это poco для appSettings.cs

    public class AppSettings
{
    public string Secret { get; set; }
}

Наконец, вот как это происходит в UsersController:

public IActionResult Authenticate([FromBody]UserDto userDto)
    {
        var user = _userService.Authenticate(userDto.Username, userDto.Password);

        if (user == null)
            return BadRequest(new { message = "Username or password is incorrect" });

        var tokenHandler = new JwtSecurityTokenHandler();
        var key = Encoding.ASCII.GetBytes(_appSettings.Secret);

Когда я запускаю программу, используя реальный бэкэнд и использую точку останова в этой строке:

---> var key = Encoding.ASCII.GetBytes (_appSettings.Secret);

и указатель мыши _appSettings.Secret Я вижу эту строку:

"ЭТО ИСПОЛЬЗУЕТСЯ ДЛЯ ПОДПИСАНИЯ И ПРОВЕРКИ ЖЕЛЕВЫХ ЖЕЛЕЗ, ЗАМЕНА ЕГО СВОЕМ СЕКРЕТНОМ, ЭТО МОЖЕТ БЫТЬ ЛЮБЫМ"

Я хочу знать, где хранится строка для присвоения _appSettings.Secret.

1 Ответ

0 голосов
/ 19 декабря 2018

В настройках по умолчанию он хранится в файле appsettings [.EnvirnomentName (необязательно)]. Json внутри вашего проекта или из других источников, поддерживаемых пакетом конфигурации ядра asp.net:

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-2.2

Вот документация для «Шаблонов опций»: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/options?view=aspnetcore-2.2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...