コード例 #1
0
        public ActionResult Login(AdminSignUp Form)
        {
            AdminSignupViewModel model = new AdminSignupViewModel();

            model.Form = Form;
            var json = JsonConvert.SerializeObject(new { username = Form.username, password = Form.password });
            var data = new StringContent(json, Encoding.UTF8, "application/json");

            var url = URLAffinidy + "/users/login";

            using (var client = new HttpClient())
            {
                client.DefaultRequestHeaders.Add("Api-Key", HashAffinidy);
                var response = client.PostAsync(url, data).Result;

                string result    = response.Content.ReadAsStringAsync().Result;
                var    respuesta = JsonConvert.DeserializeObject <ResponseLogin>(result);
                if (respuesta.accessToken != null)
                {
                    AccessToken = respuesta.accessToken;
                    Admin       = Form.username;
                    HolderDid   = respuesta.did;
                    if (!UserDids.ContainsKey(Form.username))
                    {
                        UserDids.Add(Form.username, respuesta.did);
                    }
                    return(RedirectToAction("Index"));
                }
                else
                {
                    ViewBag.Error = respuesta.message;
                    return(View(model));
                }
            }
        }
コード例 #2
0
        public ActionResult SignUp(SignUp Form)
        {
            SignupViewModel model = new SignupViewModel();

            model.Form = Form;
            var json = JsonConvert.SerializeObject(Form);
            var data = new StringContent(json, Encoding.UTF8, "application/json");

            var url = URLAffinidy + "/users/signup";

            using (var client = new HttpClient())
            {
                client.DefaultRequestHeaders.Add("Api-Key", HashAffinidy);
                var response = client.PostAsync(url, data).Result;

                string result    = response.Content.ReadAsStringAsync().Result;
                var    respuesta = JsonConvert.DeserializeObject <ResponseSignUp>(result);
                if (respuesta.accessToken != null)
                {
                    UserDids.Add(Form.username, respuesta.did);
                    ViewBag.Message = "Successful signup.";
                    return(RedirectToAction("Login"));
                }
                else
                {
                    ViewBag.Error = respuesta.message;
                    return(View(model));
                }
            }
        }
コード例 #3
0
 public ActionResult Logoff()
 {
     UserDids.Remove(Username);
     AccessToken = null;
     Username    = null;
     Admin       = null;
     HolderDid   = null;
     return(RedirectToAction("Index"));
 }
コード例 #4
0
        public ActionResult CreateCredential(CreateCredentialFormModel Form)
        {
            CreateCredentialViewModel model = new CreateCredentialViewModel();

            model.Form = Form;
            Form.type  = "NatIDNumCredentialPersonV1";
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            string user = UserDids.FirstOrDefault(x => x.Value == HolderDid).Key;

            BuildUnsignedVCRequest requestVC = new BuildUnsignedVCRequest {
                data = Form, holderDid = HolderDid, type = "NatIDNumCredentialPersonV1"
            };
            var json = JsonConvert.SerializeObject(requestVC);
            var data = new StringContent(json, Encoding.UTF8, "application/json");

            var url = AffinidyURLIssuer + "/vc/build-unsigned";

            using (var client = new HttpClient())
            {
                client.DefaultRequestHeaders.Add("Api-Key", HashAffinidy);
                var response = client.PostAsync(url, data).Result;

                string result    = response.Content.ReadAsStringAsync().Result;
                var    respuesta = JsonConvert.DeserializeObject <BuildUnsignedVCResponse>(result);
                if (UnsignedCredentials.ContainsKey(user))
                {
                    UnsignedCredentials[user].Add(respuesta);
                }
                else
                {
                    UnsignedCredentials.Add(user, new List <BuildUnsignedVCResponse>()
                    {
                        respuesta
                    });
                }

                ViewBag.Message = "Successful signup.";
                return(RedirectToAction("CredentialCreated"));
            }
        }