wifidog java_wifidog认证服务器Wiwiz Auth API集成示例代码(Java/JSP版)

String userkey = "246DD22C084BB40E"; // 替换为你的User Key

//****************************************************

// 取得接收到的传入参数

//****************************************************

String pTokencode = request.getParameter("tokencode"); // 接收到的传入参数"tokencode"

String pSrvurl = request.getParameter("srvurl"); // 接收到的传入参数"srvurl"

/* 如必要,把传入参数存放于Session对象中 */

if(pTokencode != null)

session.setAttribute("tokencode", pTokencode);

if(pSrvurl != null)

session.setAttribute("srvurl", pSrvurl);

%>

Wiwiz Auth API使用示例

用户名:

密码:

if(request.getParameter("login") != null) { // "登录"按钮按下后的处理

//****************************************************

// 第1步. 根据您的具体需要或业务,进行用户登录验证处理

//****************************************************

boolean loginSuccess = false;

//

// 根据系统自身的业务需求进行自己的账户验证/登录验证等处理

// ......

//

loginSuccess = true; // 这里假设用户登录已验证

if(loginSuccess == false) {

out.println("登录失败!"); // 如果登录失败则报错

} else {

//****************************************************

// 第2步. 调用Wiwiz Auth API,进行预认证

// 重要: 请在服务器端的程序中进行此处理(例如,ASP、C#、JSP/Servet、PHP...),

// 而不要在直接客户端代码中进行此处理(例如,HTML/Javascript)

//****************************************************

// 参数 "action" : 必须!

// 设置为"1"将使用户认证成功

// 设置为"0"将使用户认证失败

String action = "1";

// 参数 "tokencode": 必须!

// 设置与同名传入参数相同的值

String tokencode = (String) session.getAttribute("tokencode");

// 参数 "srvurl": 必须!

// 设置与同名传入参数相同的值

String srvurl = (String) session.getAttribute("srvurl");

// 参数 "endtime" : 可选

// 格式: yyyy-mm-dd hh:MM:ss 例如: 2012-05-31 21:39:00

// 设置此参数将使用户的Internet连接在指定时间关闭

// 注意: 对此参数的值必须进行url编码

String endtime = URLEncoder.encode("2012-05-31 21:39:00", "utf-8");

// 参数 "postauth" : 可选

// 例如: http://www.YourDomain.com

// 设置此参数将设置用户在通过认证后显示的页面地址

// 注意: 对此参数的值应进行url编码

String postauth = "http://www.wiwiz.com";

String parameters =

"wiwiz_auth_api=1&ver=1.0"+ // 参数 "wiwiz_auth_api" 与 "ver". 固定值

"&tokencode="+ tokencode + // 参数 "tokencode". 设置方法参考上面的说明

"&userkey="+ userkey + // 参数 "userkey". 设置方法参考上面的说明

"&action="+ action + // 参数 "action". 设置方法参考上面的说明

"&endtime="+ endtime + // 参数 "endtime". 设置方法参考上面的说明

"&postauth="+ postauth; // 参数 "postauth". 设置方法参考上面的说明

URL u = new URL(srvurl); // 使用传入参数"srvurl"的值作为请求地址

URLConnection uc = u.openConnection();

uc.setDoOutput(true);

uc.setRequestProperty("Content-Type","application/x-www-form-urlencoded");

PrintWriter pw = new PrintWriter(uc.getOutputStream());

pw.println(parameters);

pw.close();

BufferedReader in = new BufferedReader(

new InputStreamReader(uc.getInputStream()));

String verifycode = in.readLine(); // 获取verifycode,即Wiwiz服务端返回的验证结果

in.close();

String userstring = "username:" + request.getParameter("username"); // 设置自定义追踪信息(可选),本例中设为用户名

if(verifycode.startsWith("ERR")) {

// 如果报错,则显示错误代码

out.println("Error: "+ verifycode);

} else {

// 如没有报错则进行第3步。

//****************************************************

// 第3步. 调用Wiwiz Auth API,完成认证

//****************************************************

String redirectUrl = srvurl + // 使用传入参数"srvurl"的值作为跳转地址的前缀

"?wiwiz_auth_api_login=1"+ // 参数 "wiwiz_auth_api_login",固定值

"&tokencode="+ tokencode + // 参数 "tokencode",设置与同名传入参数相同的值

"&verifycode="+ verifycode + // 参数 "verifycode",Wiwiz服务端返回的验证结果

"&userstring=" + userstring; // 参数 "userstring"(可选),用户设置的自定义追踪信息

response.sendRedirect(redirectUrl); // 最后,进行跳转

}

}

}

%>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值