using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http; using System.Security.Authentication; using System.Web.Http; using Tango.TCC.BL.Web; using Tango.TCC.Service.Filters; using Tango.TCC.Service.Messages; using Tango.TCC.Service.Models; using Tango.TCC.Service.Security; using Tango.Web.ActiveDirectory; using Tango.Web.Controllers; using Tango.Web.Security; namespace Tango.TCC.Service.Controllers { public class AccountController : TangoController { [HttpPost] public LoginResponse Login(LoginRequest request) { LoginResponse response = new LoginResponse(); ActiveDirectoryManager ad = new ActiveDirectoryManager(); var authResult = ad.ValidateUserCredentials(request.Email, request.Password); //TODO: UserID is not required (22) response.AccessToken = WebToken.CreateNew(TCCServiceConfig.JWT_TOKEN_SECRET, new LoginUserResponse() { UserData = new User(request.Email, authResult.UserInfo.GivenName, authResult.UserInfo.FamilyName, 22), ExpirationDate = new DateTime(DateTime.MaxValue.Ticks) }).AccessToken; return response; } [JwtTokenFilter] [HttpPost] public void Logout(LoginRequest request) { // by email? } } }