auth_client
简介
做为客户端接入authserver服务器
组件接口
auth_client.gs
| 函数原型 | 函数作用 |
|---|---|
| object create_client(map para) | 创建一个authserver客户端连接对象 |
| void start(map para) | 初始化authserver客户端连接对象 |
| bool send(string op, map args = ) | 发送指令到authserver服务器,不等待指令处理结果 |
| array send_request(string op, map args = , int timeout = "DEFAULT_REQUEST_TIMEOUT") | 发送指令到authserver服务器,并且等待指令处理结果 |
| mixed auth_token(string type, map args) | 向authserver服务器请求验证token |
| void shutdown_auth_server() | 向authserver服务器发送关机指令 |
| void start_via_http(map para) | 开启通过http协议访问认证服务器 |
| array send_request_via_http(string method, map args = ) | 通过http协议发送请求,等待结果返回 |
| AuthClientHttpRequest client_auth_account() | 新建一个发送http接口[auth_account]的class实例 |
| AuthClientHttpRequest client_bind_visitor() | 新建一个发送http接口[bind_visitor]的class实例 |
| AuthClientHttpRequest client_check_account() | 新建一个发送http接口[check_account]的class实例 |
| AuthClientHttpRequest client_create_account() | 新建一个发送http接口[create_account]的class实例 |
| AuthClientHttpRequest client_modify_password() | 新建一个发送http接口[modify_password]的class实例 |
FAuthClientCmds.gs
认证服客户端命令接口组件
| 函数原型 | 函数作用 |
|---|---|
| AuthClientCmdBase client_auth_account() | 新建一个发送客户端命令[client_auth_account]的class实例 |
| AuthClientCmdBase client_bind_visitor() | 新建一个发送客户端命令[client_bind_visitor]的class实例 |
| AuthClientCmdBase client_check_account() | 新建一个发送客户端命令[client_check_account]的class实例 |
| AuthClientCmdBase client_create_account() | 新建一个发送客户端命令[client_create_account]的class实例 |
| AuthClientCmdBase client_modify_password() | 新建一个发送客户端命令[client_modify_password]的class实例 |
| AuthClientCmdBase internal_auth_account() | 新建一个发送客户端命令[internal_auth_account]的class实例 |
| AuthClientCmdBase internal_auth_token() | 新建一个发送客户端命令[internal_auth_token]的class实例 |
| AuthClientCmdBase internal_block_account() | 新建一个发送客户端命令[internal_block_account]的class实例 |
| AuthClientCmdBase internal_gen_sn() | 新建一个发送客户端命令[internal_gen_sn]的class实例 |
| AuthClientCmdBase internal_group_opt() | 新建一个发送客户端命令[internal_group_opt]的class实例 |
| AuthClientCmdBase internal_modify_password() | 新建一个发送客户端命令[internal_modify_password]的class实例 |
| AuthClientCmdBase internal_pull_blocked_accounts() | 新建一个发送客户端命令[internal_pull_blocked_accounts]的class实例 |
| AuthClientCmdBase internal_read_account() | 新建一个发送客户端命令[internal_read_account]的class实例 |
| AuthClientCmdBase internal_shutdown() | 新建一个发送客户端命令[internal_shutdown]的class实例 |
| AuthClientCmdBase internal_take_over_opt() | 新建一个发送客户端命令[internal_take_over_opt]的class实例 |
| AuthClientCmdBase internal_unblock_account() | 新建一个发送客户端命令[internal_unblock_account]的class实例 |
类
AuthClientHttpRequest
客户端通过http接口访问认证服务器的基础class
成员变量
| 变量名 | 类型 | 初始值 | 须初始化 | 描述 |
|---|---|---|---|---|
| host | string | nil | 可选 | 服务器主机地址 |
| method | string | nil | 可选 | 接口名称 |
| para | map | nil | 可选 | 请求参数 |
成员方法
| 函数原型 | 函数作用 |
|---|---|
| void set_host(string host) | 设置服务器主机地址 |
| void set_method(string method) | 设置接口名称 |
| void set_para(map para) | 设置接口参数 |
| void append_para(string key, mixed value) | 追加接口参数 |
| array request(map args = nil) | 发起http请求 |
AuthClientCmdBase
认证服客户端命令的基础class
成员变量
| 变量名 | 类型 | 初始值 | 须初始化 | 描述 |
|---|---|---|---|---|
| cmd | string | nil | 可选 | 命令名称 |
| client_ob | object | nil | 可选 | 客户端对象 |
成员方法
| 函数原型 | 函数作用 |
|---|---|
| bool send(map args) | 发送客户端命令(不等待结果) |
| mixed send_request(map args, int timeout_seconds = -1) | 发送消息并且等待消息结果(阻塞等待) |
样例
import pkg.auth_client;
public void test()
{
map create_para = {
"ip" : "127.0.0.1",
"port" : 5200,
};
object client_ob = auth_client.create_client(create_para);
defer client_ob.close();
map para = {
"account" : "abc",
"password" : "def",
};
mixed result = client_ob.client_auth_account().send_request(para, 1);
if (result == nil)
return;
if (result["error"])
return;
printf("result=%O\n", result);
}
public void test1()
{
auth_client.start_via_http({
"host" : "http://127.0.0.1:4567"
});
array result = auth_client.client_auth_account().request({
"account" : "abc",
"password" : "def",
});
printf("result: %O\n", result);
array result2 = auth_client.client_create_account().request({
"type" : "normal",
"account" : "aaaaa",
"password" : md5("aaaaa").to_hex().to_upper()
});
printf("result2: %O\n", result2);
}