public void TestSetup() { _logger = new Mock <ILogger <Pegasus.Controllers.ManageController> >(); var authenticatorKeyModel = new AuthenticatorKeyModel { AuthenticatorUri = "https://validAuthenticator", SharedKey = "asdf asdf asdf asdf" }; _manageEndpoint = new Mock <IManageEndpoint>(); _manageEndpoint.Setup(x => x.LoadSharedKeyAndQrCodeUriAsync(It.IsAny <string>())) .Returns(Task.FromResult(authenticatorKeyModel)); var identity = new Mock <IIdentity>() { Name = "*****@*****.**" }; var user = new ClaimsPrincipal(identity.Object); var context = new DefaultHttpContext { User = user }; _controllerContext = new ControllerContext { HttpContext = context, }; }
public async Task <AuthenticatorKeyModel> LoadSharedKeyAndQrCodeUri(string userId) { var model = new AuthenticatorKeyModel(); var user = await GetUser(userId, model); if (user == null) { return(LogErrorReturnModel(model)); } return(await LoadSharedKeyAndQrCodeUriAsync(user)); }
private async Task <AuthenticatorKeyModel> LoadSharedKeyAndQrCodeUriAsync(IdentityUser user) { // Load the authenticator key & QR code URI to display on the form var unformattedKey = await _userManager.GetAuthenticatorKeyAsync(user); if (string.IsNullOrEmpty(unformattedKey)) { await _userManager.ResetAuthenticatorKeyAsync(user); unformattedKey = await _userManager.GetAuthenticatorKeyAsync(user); } var model = new AuthenticatorKeyModel(); model.SharedKey = FormatKey(unformattedKey); var email = await _userManager.GetEmailAsync(user); model.AuthenticatorUri = GenerateQrCodeUri(email, unformattedKey); return(model); }