Exemplo n.º 1
0
        public ActionResult Register(RegisterNewDeviceViewModel model)
        {
            model = model ?? new RegisterNewDeviceViewModel();

            if (!String.IsNullOrEmpty(model.RawRegisterResponse))
            {
                var u2f = new FidoUniversalTwoFactor();

                var challenge = model.Challenge;
                var startedRegistration = GetFidoRepository().GetStartedRegistration(GetCurrentUser(), challenge);

                var deviceRegistration = u2f.FinishRegistration(startedRegistration, model.RawRegisterResponse, GetTrustedDomains());
                GetFidoRepository().StoreDeviceRegistration(GetCurrentUser(), deviceRegistration);
                GetFidoRepository().RemoveStartedRegistration(GetCurrentUser(), model.Challenge);

                return RedirectToAction("Index");
            }

            return View(model);
        }
Exemplo n.º 2
0
        public ActionResult Register()
        {
            var u2f = new FidoUniversalTwoFactor();
            var appId = new FidoAppId(Request.Url);
            var startedRegistration = u2f.StartRegistration(appId);

            GetFidoRepository().StoreStartedRegistration(GetCurrentUser(), startedRegistration);

            var model = new RegisterNewDeviceViewModel
            {
                AppId = startedRegistration.AppId.ToString(),
                Challenge = startedRegistration.Challenge,
                UserName = GetCurrentUser()
            };

            return View(model);
        }