From 21051ceabf9a5fad65967472a39df20f33b33c6d Mon Sep 17 00:00:00 2001 From: Sola Date: Fri, 25 Mar 2016 03:13:11 +0800 Subject: [PATCH] update v2 links --- .../java/love/sola/netsupport/api/Error.java | 4 +- .../java/love/sola/netsupport/api/Login.java | 2 +- .../love/sola/netsupport/auth/OAuth2.java | 51 +++++++++++++++++++ src/main/resources/lang.yml | 14 ++--- 4 files changed, 61 insertions(+), 10 deletions(-) create mode 100644 src/main/java/love/sola/netsupport/auth/OAuth2.java diff --git a/src/main/java/love/sola/netsupport/api/Error.java b/src/main/java/love/sola/netsupport/api/Error.java index 3ce2978..80ca350 100644 --- a/src/main/java/love/sola/netsupport/api/Error.java +++ b/src/main/java/love/sola/netsupport/api/Error.java @@ -11,10 +11,10 @@ import static love.sola.netsupport.config.Lang.lang; public class Error { public static final Error ALREADY_SUBMITTED = new Error(1); - public static final Error OK = new Error(0); + public static final Object OK = new Object(); public static final Error PARAMETER_REQUIRED = new Error(-1); public static final Error ILLEGAL_PARAMETER = new Error(-2); - public static final Error REQUEST_FAILED = new Error(-3); +// public static final Error REQUEST_FAILED = new Error(-3); REMOVED public static final Error LENGTH_LIMIT_EXCEEDED = new Error(-4); public static final Error INVALID_PARAMETER = new Error(-5); public static final Error USER_NOT_FOUND = new Error(-11); diff --git a/src/main/java/love/sola/netsupport/api/Login.java b/src/main/java/love/sola/netsupport/api/Login.java index f38f871..973a49f 100644 --- a/src/main/java/love/sola/netsupport/api/Login.java +++ b/src/main/java/love/sola/netsupport/api/Login.java @@ -86,7 +86,7 @@ public class Login extends HttpServlet { return sid; } catch (Exception e) { e.printStackTrace(); - return Error.REQUEST_FAILED; + return Error.INTERNAL_ERROR; } } } \ No newline at end of file diff --git a/src/main/java/love/sola/netsupport/auth/OAuth2.java b/src/main/java/love/sola/netsupport/auth/OAuth2.java new file mode 100644 index 0000000..093d3d8 --- /dev/null +++ b/src/main/java/love/sola/netsupport/auth/OAuth2.java @@ -0,0 +1,51 @@ +package love.sola.netsupport.auth; + +import love.sola.netsupport.util.Checker; +import love.sola.netsupport.wechat.WechatSession; +import love.sola.netsupport.wechat.WxMpServlet; +import me.chanjar.weixin.common.session.WxSession; +import me.chanjar.weixin.mp.api.WxMpService; +import me.chanjar.weixin.mp.bean.result.WxMpOAuth2AccessToken; +import me.chanjar.weixin.mp.bean.result.WxMpUser; + +import javax.servlet.AsyncContext; +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +/** + * *********************************************** + * Created by Sola on 2014/8/20. + * Don't modify this source without my agreement + * *********************************************** + */ +@WebServlet(name = "OAuth2", urlPatterns = "/oauth2/callback", loadOnStartup = 21) +public class OAuth2 extends HttpServlet { + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + AsyncContext acxt = req.startAsync(); + String code = req.getParameter("code"); + String state = req.getParameter("state"); + if (Checker.hasNull(code, state)) { + resp.sendError(HttpServletResponse.SC_FORBIDDEN); + return; + } + acxt.start(() -> { + try { + WxMpService wxMpService = WxMpServlet.instance.wxMpService; + WxMpOAuth2AccessToken token = wxMpService.oauth2getAccessToken(code); + WxMpUser wxUser = wxMpService.oauth2getUserInfo(token, "zh_CN"); + String sid = WechatSession.genId(); + WxSession session = WechatSession.get(sid, true); + } catch (Exception e) { + e.printStackTrace(); + } + }); + + } + +} diff --git a/src/main/resources/lang.yml b/src/main/resources/lang.yml index 6eed633..aafdf3c 100644 --- a/src/main/resources/lang.yml +++ b/src/main/resources/lang.yml @@ -57,13 +57,13 @@ Operator_Info: | 若以上信息有误,请及时联系@15-排污-沙子森。 #URL -User_Register_Link: 'http://topaz.sinaapp.com/nm/v1/reg.html?token={0}' -User_Query_Link: 'http://topaz.sinaapp.com/nm/v1/list.html?token={0}' -User_Submit_Link: 'http://topaz.sinaapp.com/nm/v1/rrepair.html?token={0}&name={1}&isp={2}&room={3}&block={4}&phone={5,number,#}' -User_Profile_Link: 'http://topaz.sinaapp.com/nm/v1/modi.html?token={0}&name={1}&isp={2}&username={3}&block={4}&room={5}&phone={6,number,#}' -Result_Page: 'http://topaz.sinaapp.com/nm/v1/result.html' -Operator_Home_Page: 'CLICK HERE' -Operator_Login_Page: 'http://topaz.sinaapp.com/nm/v1/man/login.html?pkey={0}' +User_Register_Link: 'http://topaz.sinaapp.com/nm/v2/user/reg.html?token={0}' +User_Query_Link: 'http://topaz.sinaapp.com/nm/v2/user/list.html?token={0}' +User_Submit_Link: 'http://topaz.sinaapp.com/nm/v2/user/rrepair.html?token={0}&name={1}&isp={2}&room={3}&block={4}&phone={5,number,#}' +User_Profile_Link: 'http://topaz.sinaapp.com/nm/v2/user/modi.html?token={0}&name={1}&isp={2}&username={3}&block={4}&room={5}&phone={6,number,#}' +Result_Page: 'http://topaz.sinaapp.com/nm/v2/result.html' +Operator_Home_Page: 'CLICK HERE' +Operator_Login_Page: 'http://topaz.sinaapp.com/nm/v2/man/login.html?pkey={0}' #Localized #Status