Получить данные (json) с помощью OnPostAsyn c WEB API C# - PullRequest
0 голосов
/ 10 марта 2020

Я занимаюсь другой системой, которая получает данные для входа в систему из моей предыдущей системы, потому что я могу использовать 1 базу данных для 2 систем, поэтому я создал имя входа через веб-интерфейс в моей предыдущей системе для моей новой системы. Как я могу получить json из веб-API и использовать в новой системе.

Это мой веб-API из другой системы.

[HttpPost]
        public async Task<JsonResult> Authenticate(string email, string password, bool rememberMe = true)
        {
            var result = await _signInManager.PasswordSignInAsync(email, password, rememberMe, lockoutOnFailure: false);
            ApplicationUser user = null;
            if (result.Succeeded)
            {
                var userId = User.GetUserId();
                user = await _context.ApplicationUser.SingleOrDefaultAsync(u => u.NormalizedEmail == email.ToUpper());
            }

            return Json(user);
        }

я хочу

if user returned
{
  if user already exists{
    login
  }else{
    create user
    login
   }
}

Это Onpost для кнопки входа в систему.

 public async Task<IActionResult> OnPostAsync(string returnUrl = null)
    {
        ReturnUrl = returnUrl;
        List<ApplicationUser> User = new List<ApplicationUser>();
        using (var client = new HttpClient())
        {
            //Passing service base url  
            client.BaseAddress = new Uri(Baseurl);

            client.DefaultRequestHeaders.Clear();
            //Define request data format  
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));


            var values = new Dictionary<string, string>();
            values.Add("email", Input.Email);
            values.Add("password", Input.Password);


            var req = new HttpRequestMessage(HttpMethod.Post, Baseurl + "Authenticate/") { Content = new FormUrlEncodedContent(values) };
            var res = await client.SendAsync(req);



            return Page();
        }
...