您好我已经创建了自己的asp.net项目(非MVC)。现在我想使用Google身份验证器实现双因素身份验证。因此,当用户获得注册用户将获得密钥或获取QR图像并使用它的Android手机进行设置。对于登录,他们需要来自谷歌身份验证器应用程序的密钥。
我在asp.net中获得了很少的MVC代码。我需要步骤如何集成asp.net应用程序(非MVC)请指导我如何实现这个任何样本将不胜感激。
由于
答案 0 :(得分:5)
要添加Google身份验证,您需要以下
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Security.Cryptography;
using System.Text;
using System.Web.Profile;
using System.Web.Security;
using Google.Authenticator;
获取Google.Authenticator;点击这里https://www.nuget.org/packages/GoogleAuthenticator
现在设置Google身份验证。
TwoFactorAuthenticator tfa = new TwoFactorAuthenticator();
var setupInfo = tfa.GenerateSetupCode("Name of the app", "More info ABout the App", "SuperSecretKeyGoesHere", 300 , 300//the width and height of the Qr Code);
string qrCodeImageUrl = setupInfo.QrCodeSetupImageUrl; // assigning the Qr code information + URL to string
string manualEntrySetupCode = setupInfo.ManualEntryKey; // show the Manual Entry Key for the users that don't have app or phone
Image1.ImageUrl = qrCodeImageUrl;// showing the qr code on the page "linking the string to image element"
Label1.Text = manualEntrySetupCode; // showing the manual Entry setup code for the users that can not use their phone
您可以将SuperSecretKeyGoesHere
更改为您想要的任何值,但请确保它具有10个以上的字符,否则生成的手动输入键将不起作用。
现在,您可以使用文本框和按钮单击
此位将查看用户条目并查看其是否正常
string user_enter=TextBox1.Text;
TwoFactorAuthenticator tfa = new TwoFactorAuthenticator();
bool isCorrectPIN = tfa.ValidateTwoFactorPIN("SuperSecretKeyGoesHere", user_enter);
if (isCorrectPIN == true)
{
Label2.Text = "i am cool";
}
else
{
Label2.Text = "i am Fool";
}
答案 1 :(得分:2)
旧问题,但我已准确地在博客上发表您的案例,您可以阅读帖子:Two Factor Authentication in ASP.NET Web API & AngularJS using Google Authenticator 希望这能回答你的问题。