历史版本3 :非跨域登录接口 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 描述编辑

平台系统单点登录接口是适合在web或者跨域场景使用的,返回的数据结构为jspon。

其他比如安卓原生,或者java后台调用单点接口获取token,如果使用上面跨域的接口,结果请求回来的数据不是标准json,都是({accesstoken:xxx}),被括起来了,需要再去掉括号,取token。

安卓原生不存在跨域问题,可以直接使用普通登录的接口,返回的数据结构直接使用的json即可。

2. 接口编辑

详细点击登录

3. 示例编辑

<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; " charset="UTF-8"> <script src="http://code.jquery.com/jquery-2.1.4.min.js"></script> <script type="text/javascript"> function doSubmit() { var username = document.getElementById("username").value.trim(); var password = document.getElementById("password").value.trim(); if (username === "") { window.alert("请输入用户名"); return false; } if (password === "") { window.alert("请输入密码"); return false; } var url = "/webroot/decision/login"; var data = { username: username, password: password, validity: -2, //是否保持登录,-2表示是 origin: "" }; jQuery.ajax({ type: "POST", url: url, dataType: "json", contentType: "application/json", data: JSON.stringify(data), success: function (res) { console.log(res); if (res.errorCode) { window.alert(res.errorMsg); }else { // 保存token并跳转到对应链接 var tokenCookie = "fine_auth_token=" + res.data.accessToken + ";path=/"; if(res.data.validity === -2) { var exdate = new Date(); exdate.setDate(exdate.getDate() + 14); tokenCookie += ";expires=" + exdate.toGMTString(); } document.cookie = tokenCookie; window.location.href = res.data.url; } }, error: function () { alert("超时或服务器其他错误");// 登录失败(超时或服务器其他错误) } }); } </script> </head> <body> <p>请登录</p> <form id="login" name="login" method="POST" action=""> <p>用户名:<input id="username" type="text" name="username"/></p> <p>密 码:<input id="password" type="password" name="password"/></p> <input type="button" value="登录" onClick="doSubmit()"/> </form> </body> </html>