Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 二维码未显示用于双因素认证_C#_Asp.net Core - Fatal编程技术网

C# 二维码未显示用于双因素认证

C# 二维码未显示用于双因素认证,c#,asp.net-core,C#,Asp.net Core,我试图在我的web应用程序中根据添加2Factor身份验证,但是,该页面仍然没有显示QR码,我无法找出问题所在 我使用.net core 3.1 entity framework core进行身份验证,dal使用dapper 这是“身份验证”页面中的“渲染脚本”部分。唯一不同的是,我根本没有修改我的应用程序用户类,现在还不需要我的应用程序 @section Scripts { <partial name="_ValidationScriptsPartial" /> <scrip

我试图在我的web应用程序中根据添加2Factor身份验证,但是,该页面仍然没有显示QR码,我无法找出问题所在

我使用.net core 3.1 entity framework core进行身份验证,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>

}
@节脚本{
新的QRCode(document.getElementById(“QRCode”),
{
文本:“@Html.Raw(Model.AuthenticatorUri)”,
宽度:150,
身高:150
});
}
但是,如果我们在管理部分查看我的页面,您将看到二维码仍然没有显示出来,即使我按照要求将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>
  • 扫描二维码或将此密钥@Model.SharedKey输入双因素验证器应用程序。空间和外壳并不重要

    要生成二维码,请阅读我们的。
  • 我的Startup Cs在配置中包含以下内容

    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);
    
    
      }
    
    public void配置服务(IServiceCollection服务)
    {
    services.AddDbContext

    你可以在这里看到我的主要观点

    我希望有人知道我通过新的scaffold项添加页面时做错了什么,这样它们就位于我的帐户/管理文件夹中,如图所示

    另外,一个强制登录如何在注册阶段启用2fa,或者他们必须首先拥有一个帐户

    我还使用迁移将所有表添加到数据库中


    我尝试了你的代码,但它对我来说运行得很好。是否有一个最小的演示可以复制?@it减去它的工作性能是我的文件系统端路径中的一个错误。但是问题是可以使用我的Microsoft身份验证应用程序注册用户,但与我的工作不同的是,配置文件图标不是蓝色的,只是文件旁边的一个空白配置文件图标编写任何关于原因的想法。它发出的代码正常,并验证它是否工作,这很好。@除了在另一个应用程序中重新访问此代码,但我的2fa图标是黑色,我如何使它像其他应用程序一样变为蓝色例如microsoft outlook显示蓝色Sheild我尝试了你的代码,但对我来说效果很好。是否有一个可以重新编译的最小演示ces?@It减去它的工作罚款是我的文件系统端路径中的一个错误。但是问题是可以使用我的Microsoft身份验证应用程序注册用户,但与我的工作不同的是,配置文件图标不是蓝色的,只是代码旁边的一个空白配置文件图标。没有任何关于原因的想法。它发出代码ok,并验证它工作正常。@It减去重新访问另一个应用程序,但我的2fa图标是黑色的。如何使它像其他应用程序一样呈蓝色?例如,microsoft outlook显示一个蓝色的sheild