Example #1
0
 public AssistantNameMailDTO GetAssistant(UniMembers asst)
 {
     if (asst == null)
     {
         return(null);
     }
     return(new AssistantNameMailDTO
     {
         Name = asst.Name + " " + asst.Surname,
         Mail = asst.Email
     });
 }
 public IActionResult Redirect(UniMembers usr)
 {
     //asistent
     if (usr.StudentId == null)
     {
         return(Ok(new { status = "success", url = "/assistant" }));
     }
     else //student
     {
         return(Ok(new { status = "success", url = "/student" }));
     }
 }
        private string GenerateToken(UniMembers user, DateTime expires)
        {
            var handler = new JwtSecurityTokenHandler();

            ClaimsIdentity identity = new ClaimsIdentity(
                new GenericIdentity(user.StudentId == null ? user.UniMemberId.ToString() : user.StudentId.ToString(), "TokenAuth"),
                new[] {
                new Claim("role", user.StudentId == null ? "assistant" : "student", "role")
            }
                );

            var securityToken = handler.CreateToken(new SecurityTokenDescriptor
            {
                Issuer             = TokenAuthOption.Issuer,
                Audience           = TokenAuthOption.Audience,
                SigningCredentials = TokenAuthOption.SigningCredentials,
                Subject            = identity,
                Expires            = expires
            });

            return(handler.WriteToken(securityToken));
        }
        public IActionResult Login([FromBody] LoginBinding loginData)
        {
            if (String.IsNullOrEmpty(loginData.username) || String.IsNullOrEmpty(loginData.password))
            {
                return(Ok(new { exception = "parameter error" }));
            }

            try
            {
                UniMembers usr = loginService.UserLogin(loginData.username, loginData.password);
                HttpContext.Session.SetUser(JsonConvert.DeserializeObject <UniMembers>(
                                                (JsonConvert.SerializeObject(usr, Formatting.Indented,
                                                                             new JsonSerializerSettings
                {
                    ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                }))));

                var requestAt = DateTime.Now;
                var expiresIn = requestAt + TokenAuthOption.ExpiresSpan;
                var token     = GenerateToken(usr, expiresIn);


                var data = new
                {
                    requertAt   = requestAt,
                    expiresIn   = TokenAuthOption.ExpiresSpan.TotalSeconds,
                    tokeyType   = TokenAuthOption.TokenType,
                    accessToken = token
                };
                return(Ok(new { status = "success", data = data, url = usr.StudentId == null ? "assistant" : "student" }));
            }
            catch (Exception ex)
            {
                return(Ok(new { exception = ex.Message }));
            }
        }
 public static void SetUser(this ISession session, UniMembers user)
 {
     session.SetString("user", JsonConvert.SerializeObject(user));
 }