Ответ 1
Поставщик защиты в следующей строке используется как поставщик/генератор токенов.
manager.UserTokenProvider = new DataProtectorTokenProvider<User>(dataProtectionProvider.Create("ASP.NET Identity"));
Он отвечает за создание токена подтверждения электронной почты или токена пароля reset. Если вы не установите эту строку, вы не сможете использовать эти функции (будет выбрано соответствующее исключение). Пример можно найти здесь.
Его основная цель - обеспечить реализацию интерфейса IDataProtector (через метод Create), который шифрует и дешифрует данные. Реализация для этого интерфейса в структуре - это DpapiDataProtectionProvider, который должен использоваться, когда приложение не размещено ASP.NET. В Интернете существует несколько других реализаций (например, тот, который использует служебный ключ для целей безопасности). class Для получения дополнительной информации о DataProtectorTokenProvider см. документацию документация по защите данных.