QR-код не отображается для двухфакторной аутентификации - PullRequest
1 голос
/ 10 ноября 2019

Я пытаюсь добавить аутентификацию 2Factor в своем веб-приложении в соответствии с документацией , однако на странице все еще не отображается QR-код, и я не могу понять, что не так.

Я использую ядро ​​платформы .net core 3.1 для идентификации личности, а для моего dal - dapper.

Это мои разделы сценариев рендеринга на странице аутентификации. Единственное, что я вижу по-другому, это то, что я вообще не изменяю пользовательский класс своего приложения, в моем приложении пока нет необходимости.

@section Scripts {
<partial name="_ValidationScriptsPartial" />
<script type="text/javascript" src="~/lib/qrcode-generator/qrcode.js"></script>
<script type="text/javascript">
    new QRCode(document.getElementById("qrCode"),
        {
            text: "@Html.Raw(Model.AuthenticatorUri)",
            width: 150,
            height: 150
        });
</script>

}

Но если мы посмотрим на мою страницу в разделе управления, вы увидитеQR-код по-прежнему не отображался, хотя я настроил HTML-код следующим образом:

 <li>
        <p>Scan the QR Code or enter this key <kbd>@Model.SharedKey</kbd> into your two factor authenticator app. Spaces and casing do not matter.</p>
        <div class="alert alert-info">To enable QR code generation please read our <a href="https://go.microsoft.com/fwlink/?Linkid=852423">documentation</a>.</div>
        <div id="qrCode"></div>
        <div id="qrCodeData" data-url="@Model.AuthenticatorUri"></div>
 </li>

Мой Startup C имеет следующее в конфигурации

public void ConfigureServices(IServiceCollection services)
    {
        services.AddDbContext<ApplicationDbContext>(options =>
            options.UseSqlServer(
                Configuration.GetConnectionString("DefaultConnection")));
        services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = true)
            .AddEntityFrameworkStores<ApplicationDbContext>();
        services.AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

        services.AddControllersWithViews();
        services.AddRazorPages();
        services.Configure<ConnectionStringConfig>(Configuration);


  }

И нетошибки в браузере, относящиеся к QR-коду. Я добавил пакет с помощью диспетчера lib, как указано в QR-коде

enter image description here

U. здесь

enter image description here

Я надеюсь, что кто-то знает, что сделал не так, я добавил страницы через новый элемент скаффолда, чтобы они отображались в папке «Моя учетная запись / Управление»здесь

enter image description here

Кроме того, как одним принудительным входом в систему существует способ включить 2fa на этапе регистрации или у них должна быть учетная запись для начала.

Я также добавил все свои таблицы с помощью миграций в базу данных

enter image description here

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