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

目录:

1. 描述编辑


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

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

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


2. 接口编辑

详细点击登录



3. 示例编辑

3.1 完整代码:


<!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>


3.2 保存预览


将上述代码另存为login.html,保存到%FR_HOME%/webroot/下。

启动设计器,输入http://localhost:8075/webroot/login.html,效果如下图:

222