mirror of
https://github.com/EQEmu/Server.git
synced 2026-03-23 10:42:25 +00:00
Add cli command create-loginserver-account --username=* --password=*
This commit is contained in:
parent
78d8b909be
commit
4bc6493718
@ -72,6 +72,7 @@ namespace LoginserverCommandHandler {
|
|||||||
std::map<std::string, void (*)(int argc, char **argv, argh::parser &cmd)> function_map;
|
std::map<std::string, void (*)(int argc, char **argv, argh::parser &cmd)> function_map;
|
||||||
function_map["create-loginserver-api-token"] = &LoginserverCommandHandler::CreateLoginserverApiToken;
|
function_map["create-loginserver-api-token"] = &LoginserverCommandHandler::CreateLoginserverApiToken;
|
||||||
function_map["list-loginserver-api-tokens"] = &LoginserverCommandHandler::ListLoginserverApiTokens;
|
function_map["list-loginserver-api-tokens"] = &LoginserverCommandHandler::ListLoginserverApiTokens;
|
||||||
|
function_map["create-loginserver-account"] = &LoginserverCommandHandler::CreateLocalLoginserverAccount;
|
||||||
|
|
||||||
std::map<std::string, void (*)(int argc, char **argv, argh::parser &cmd)>::const_iterator it = function_map.begin();
|
std::map<std::string, void (*)(int argc, char **argv, argh::parser &cmd)>::const_iterator it = function_map.begin();
|
||||||
std::map<std::string, void (*)(int argc, char **argv, argh::parser &cmd)>::const_iterator end = function_map.end();
|
std::map<std::string, void (*)(int argc, char **argv, argh::parser &cmd)>::const_iterator end = function_map.end();
|
||||||
@ -79,6 +80,12 @@ namespace LoginserverCommandHandler {
|
|||||||
bool ran_command = false;
|
bool ran_command = false;
|
||||||
while (it != end) {
|
while (it != end) {
|
||||||
if (it->first == argv[1]) {
|
if (it->first == argv[1]) {
|
||||||
|
std::cout << std::endl;
|
||||||
|
std::cout << "###########################################################" << std::endl;
|
||||||
|
std::cout << "# Executing CLI Command" << std::endl;
|
||||||
|
std::cout << "###########################################################" << std::endl;
|
||||||
|
std::cout << std::endl;
|
||||||
|
|
||||||
(it->second)(argc, argv, cmd);
|
(it->second)(argc, argv, cmd);
|
||||||
ran_command = true;
|
ran_command = true;
|
||||||
}
|
}
|
||||||
@ -91,9 +98,13 @@ namespace LoginserverCommandHandler {
|
|||||||
std::cout << "# Loginserver CLI Menu" << std::endl;
|
std::cout << "# Loginserver CLI Menu" << std::endl;
|
||||||
std::cout << "###########################################################" << std::endl;
|
std::cout << "###########################################################" << std::endl;
|
||||||
std::cout << std::endl;
|
std::cout << std::endl;
|
||||||
|
std::cout << "# API" << std::endl;
|
||||||
std::cout << "> create-loginserver-api-token --write --read" << std::endl;
|
std::cout << "> create-loginserver-api-token --write --read" << std::endl;
|
||||||
std::cout << "> list-loginserver-api-tokens" << std::endl;
|
std::cout << "> list-loginserver-api-tokens" << std::endl;
|
||||||
std::cout << std::endl;
|
std::cout << std::endl;
|
||||||
|
std::cout << "# Accounts" << std::endl;
|
||||||
|
std::cout << "> create-loginserver-account --username=* --password=*" << std::endl;
|
||||||
|
std::cout << std::endl;
|
||||||
std::cout << std::endl;
|
std::cout << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -139,4 +150,30 @@ namespace LoginserverCommandHandler {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param argc
|
||||||
|
* @param argv
|
||||||
|
* @param cmd
|
||||||
|
*/
|
||||||
|
void CreateLocalLoginserverAccount(int argc, char **argv, argh::parser &cmd)
|
||||||
|
{
|
||||||
|
if (cmd("--username").str().empty() || cmd("--username").str().empty()) {
|
||||||
|
LogInfo("Command Example: create-loginserver-account --username=user --password=password");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string user = cmd("--username").str();
|
||||||
|
std::string password = cmd("--password").str();
|
||||||
|
|
||||||
|
auto mode = server.options.GetEncryptionMode();
|
||||||
|
auto hash = eqcrypt_hash(user, password, mode);
|
||||||
|
|
||||||
|
unsigned int db_id = 0;
|
||||||
|
std::string db_login = server.options.GetDefaultLoginServerName();
|
||||||
|
if (!server.db->CreateLoginData(user, hash, db_login, db_id)) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -28,6 +28,7 @@ namespace LoginserverCommandHandler {
|
|||||||
void CommandHandler(int argc, char **argv);
|
void CommandHandler(int argc, char **argv);
|
||||||
void CreateLoginserverApiToken(int argc, char **argv, argh::parser &cmd);
|
void CreateLoginserverApiToken(int argc, char **argv, argh::parser &cmd);
|
||||||
void ListLoginserverApiTokens(int argc, char **argv, argh::parser &cmd);
|
void ListLoginserverApiTokens(int argc, char **argv, argh::parser &cmd);
|
||||||
|
void CreateLocalLoginserverAccount(int argc, char **argv, argh::parser &cmd);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -75,7 +75,7 @@ int main(int argc, char** argv)
|
|||||||
server.config.GetVariableString(
|
server.config.GetVariableString(
|
||||||
"general",
|
"general",
|
||||||
"default_loginserver_name",
|
"default_loginserver_name",
|
||||||
"peq"
|
"local"
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user