コード例 #1
0
        public async Task <IActionResult> Handle()
        {
            //Call external provider to get token
            string token = await externalLoginProvider.AuthenticateAsync(Email, Password, false);

            if (!String.IsNullOrEmpty(token) && externalLoginProvider.ValidateLoginToken(token, Email))
            {
                //Login to OWS
                output = await usersRepository.LoginAndCreateSession(customerGUID, Email, Password);

                if (!output.Authenticated || !output.UserSessionGuid.HasValue || output.UserSessionGuid == Guid.Empty)
                {
                    output.ErrorMessage = "Username or Password is invalid!";
                }

                return(new OkObjectResult(output));
            }

            //Not authenticated
            output = new PlayerLoginAndCreateSession();
            output.Authenticated   = false;
            output.UserSessionGuid = Guid.Empty;
            output.ErrorMessage    = externalLoginProvider.GetErrorFromToken(token);
            return(new OkObjectResult(output));
        }
コード例 #2
0
        public async Task <IActionResult> Handle()
        {
            output = await usersRepository.LoginAndCreateSession(customerGUID, Email, Password, false);

            if (!output.Authenticated || !output.UserSessionGuid.HasValue || output.UserSessionGuid == Guid.Empty)
            {
                output.ErrorMessage = "Username or Password is invalid!";
            }

            return(new OkObjectResult(output));
        }