Ejemplo n.º 1
0
        /// <summary>
        /// Validates player login data and closes sonnection
        /// </summary>
        public static bool AnonLogin(WebSocketSession session, XElement bodyXml)
        {
            //disconnect player if we dont allow anonymous
            if (!AccountsServer.AnonymousAllowed)
            {
                //Send error info to player
                AccountsServerSend.Send_Error(session, AccountReturnCodes.AnonymousLoginIsNotAllowed, "Anonymous login is not allowed");
                return(false);
            }

            // read user Nickname
            string nickname = bodyXml.GetChildElement("Nickname")?.Value;

            if (!AccountsUtil.NicknameValid(nickname))
            {
                // Send error info to player
                AccountsServerSend.Send_Error(session, AccountReturnCodes.NicknameIsInvalid, "Nickname is invalid");
                return(false);
            }

            // create auth token
            Token token = TokenManager.CreateAnonymousToken(nickname);

            AccountsServerSend.Send_LoginOk(session, token);

            return(true);
        }