Aurora.Services.WebAPIHandler.doLogin C# (CSharp) Method

doLogin() private method

private doLogin ( OSDMap map, bool asAdmin ) : OSDMap
map OSDMap
asAdmin bool
return OSDMap
        private OSDMap doLogin(OSDMap map, bool asAdmin)
        {
            string Name = map["Name"].AsString();
            string Password = map["Password"].AsString();

            ILoginService loginService = m_registry.RequestModuleInterface<ILoginService>();
            IUserAccountService accountService = m_registry.RequestModuleInterface<IUserAccountService>();
            IAgentConnector agentConnector = Aurora.DataManager.DataManager.RequestPlugin<IAgentConnector>();
            UserAccount account = null;
            OSDMap resp = new OSDMap();
            resp["Verified"] = OSD.FromBoolean(false);

            account = accountService.GetUserAccount(null, Name);
            if (agentConnector == null || accountService == null)
            {
                return resp;
            }

            account = accountService.GetUserAccount(null, Name);

            if (account != null)
            {
                if (loginService.VerifyClient(account.PrincipalID, Name, "UserAccount", Password))
                {
                    account = accountService.GetUserAccount(null, Name);
                    if (asAdmin)
                    {
                        IAgentInfo agent = agentConnector.GetAgent(account.PrincipalID);
                        if (agent.OtherAgentInformation["WebUIEnabled"].AsBoolean() == false)
                        {
                            return resp;
                        }
                    }
                    resp["UUID"] = OSD.FromUUID(account.PrincipalID);
                    resp["FirstName"] = OSD.FromString(account.FirstName);
                    resp["LastName"] = OSD.FromString(account.LastName);
                    resp["Email"] = OSD.FromString(account.Email);
                    resp["Verified"] = OSD.FromBoolean(true);
                    MainConsole.Instance.Trace("Login for " + Name + " was successful");
                }
                else
                {
                    MainConsole.Instance.Trace("Login for " + Name + " was not successful");
                }
            }

            return resp;
        }