Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Here's my controller
- public class LoginController : ApiController
- [HttpPost]
- public object Login(Model.ViewModel.Login _cred)
- {
- var user = userAccountService.FindUser(_cred.UserName, _cred.Password);
- _cred.Password = "";
- if (user != null)
- {
- string baseAddress = "http://localhost:34914";
- using (var client = new HttpClient())
- {
- var form = new Dictionary<string, string>
- {
- {"grant_type", "password"},
- {"username", user.Username},
- {"password", user.Password},
- };
- var tokenResponse = client.PostAsync(baseAddress + "/token", new FormUrlEncodedContent(form)).Result;
- var token = tokenResponse.Content.ReadAsStringAsync().Result; //tokenResponse.Content.ReadAsAsync<Token>;
- Model.ViewModel.Token returnToken = JsonConvert.DeserializeObject<Model.ViewModel.Token>(token);
- _cred.AccessToken = returnToken.Access_Token;
- return _cred;
- }
- }
- else
- {
- var error = new Utility.JSONAPI.Error.JSONAPIError();
- error.Errors.Add(new Utility.JSONAPI.Error.ErrorObject()
- {
- Id = 1,
- Title = "Unauthorized",
- Detail = "Invalid username and password"
- });
- return Request.CreateResponse((HttpStatusCode)422, error);// (HttpStatusCode.InternalServerError, error);
- }
- }
- }
- //JSONAPI Class
- public class JSONAPIError
- {
- private List<ErrorObject> m_errors;
- public List<ErrorObject> Errors
- {
- get
- {
- if (m_errors == null) m_errors = new List<ErrorObject>();
- return m_errors;
- }
- }
- }
- public class ErrorObject
- {
- public int Id { get; set; }
- public ErrorLinksObject Links { get; set; }
- public string Status { get; set; }
- public string Code { get; set; }
- public string Title { get; set; }
- public string Detail { get; set; }
- public SourceObject Source { get; set; }
- public object Meta { get; set; }
- }
- public class ErrorLinksObject
- {
- public ErrorLinkObject About { get; set; }
- }
- public class ErrorLinkObject
- {
- public string Href { get; set; }
- public object Meta { get; set; }
- }
- public class SourceObject
- {
- public string Pointer { get; set; }
- public string Parameter { get; set; }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement