oauth2 v2 update

This commit is contained in:
Sola
2016-03-27 03:12:58 +08:00
parent 910bdca8a8
commit 850e45a2d8
48 changed files with 799 additions and 422 deletions

View File

@@ -1,13 +1,7 @@
package love.sola.netsupport.util;
import love.sola.netsupport.enums.Attribute;
import love.sola.netsupport.enums.Block;
import love.sola.netsupport.enums.ISP;
import love.sola.netsupport.wechat.Command;
import love.sola.netsupport.wechat.WechatSession;
import me.chanjar.weixin.common.session.WxSession;
import javax.servlet.http.HttpServletRequest;
/**
* ***********************************************
@@ -25,13 +19,6 @@ public class Checker {
return false;
}
public static WxSession isAuthorized(HttpServletRequest r, Command c) {
String t = r.getParameter("token");
if (t == null || t.isEmpty()) return null;
WxSession s = WechatSession.get(t, false);
return s == null ? null : s.getAttribute(Attribute.AUTHORIZED) == c ? s : null;
}
public static long checkStudentId(String studentId) {
if (studentId == null) return -1;
if (studentId.matches(STUDENT_ID_REGEX)) {

View File

@@ -3,7 +3,6 @@ package love.sola.netsupport.util;
import love.sola.netsupport.enums.Status;
import love.sola.netsupport.pojo.Ticket;
import javax.servlet.http.HttpServletRequest;
import java.text.SimpleDateFormat;
import static love.sola.netsupport.config.Lang.lang;
@@ -30,11 +29,4 @@ public class ParseUtil {
return sb.toString();
}
public static String parseJsonP(HttpServletRequest request, String json) {
String jsonp = request.getParameter("jsonp");
if (jsonp == null || jsonp.isEmpty())
return json;
else
return jsonp.replace("{0}", json);
}
}

View File

@@ -1,5 +1,7 @@
package love.sola.netsupport.util;
import com.google.common.net.UrlEscapers;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@@ -13,15 +15,106 @@ import static love.sola.netsupport.config.Lang.lang;
*/
public class Redirect {
public static final String REDIRECT_PAGE = lang("Result_Page");
private static final String REDIRECT_PAGE = lang("Result_Page");
private static final int SUCCESS = 1;
private static final int ERROR = 0;
private static final int WARNING = -1;
private static final int NON_WECHAT = 88;
public static RedirectBuilder success() {
return new RedirectBuilder(SUCCESS);
}
public static RedirectBuilder error() {
return new RedirectBuilder(ERROR);
}
public static class RedirectBuilder {
private StringBuilder sb;
RedirectBuilder(int type) {
sb = new StringBuilder(REDIRECT_PAGE).append("?");
type(type);
}
private RedirectBuilder type(int type) {
sb.append("type=").append(type).append("&");
return this;
}
public RedirectBuilder msg(String msg) {
sb.append("msg=").append(i18nThenEscape(msg)).append("&");
return this;
}
public RedirectBuilder title(String title) {
sb.append("title=").append(i18nThenEscape(title)).append("&");
return this;
}
public RedirectBuilder noButton() {
sb.append("btn=").append("hide").append("&");
return this;
}
public RedirectBuilder button(String text) {
sb.append("btn=").append(i18nThenEscape(text)).append("&");
return this;
}
public RedirectBuilder icon(WeUIIcon icon) {
sb.append("icon=").append(icon.toString()).append("&");
return this;
}
public RedirectBuilder to(String url) {
sb.append("redirect=").append(i18nThenEscape(url)).append("&");
return this;
}
public void go(HttpServletResponse resp) throws IOException {
resp.sendRedirect(sb.toString());
}
public String toString() {
return sb.toString();
}
private static String i18nThenEscape(String str) {
return UrlEscapers.urlFragmentEscaper().escape(lang(str));
}
}
public enum WeUIIcon {
SUCCESS("weui_icon_success"),
SUCCESS_CIRCLE("weui_icon_success_circle"),
SUCCESS_NO_CIRCLE("weui_icon_success_no_circle"),
SUCCESS_SAFE("weui_icon_safe_success"),
INFO("weui_icon_info"),
INFO_CIRCLE("weui_icon_info_circle"),
WAITING("weui_icon_waiting"),
WAITING_CIRCLE("weui_icon_waiting_circle"),
CIRCLE("weui_icon_circle"),
WARN("weui_icon_warn"),
WARN_SAFE("weui_icon_safe_warn"),
DOWNLOAD("weui_icon_download"),
CANCEL("weui_icon_cancel"),
;
private String value;
WeUIIcon(String value) {
this.value = value;
}
@Override
public String toString() {
return value;
}
public static void message(HttpServletResponse response, int type, String message) throws IOException {
response.sendRedirect(
response.encodeRedirectURL(REDIRECT_PAGE +
"?msg=" + message +
"&type=" + type
)
);
}
}