![JAR search and dependency download from the Maven repository](/logo.png)
com.eshore.uas.auth.OauthClient Maven / Gradle / Ivy
package com.eshore.uas.auth;
import java.util.HashMap;
import java.util.Map;
import com.eshore.khala.utils.LRUCache;
import com.eshore.tools.HTTP;
import com.eshore.tools.SimpleJson;
import com.eshore.uas.auth.vo.OathLogin;
import com.eshore.uas.extensions.Glue;
public class OauthClient {
LRUCache cache = new LRUCache(10000);
//LRUCache tokens = new LRUCache(10000);
private static String server;
public static void setServer(String url) {
server=url;
}
static long duration=3600*12*1000;
public String login(OathLogin login) {
HTTP http = new HTTP();
String str= http.url(server+"?e=auth")
.postForm(login).asString();
try {
SimpleJson sj = new SimpleJson();
sj.fromString(str);
Map data = (Map) sj.getRoot();
String code =data.get("code");
if(!"0".equals(code))return null;
String hash =data.get("hash");
Devel dev = new Devel();
dev.setHash(hash);
dev.setKey(login.getApp_id());
dev.setId(data.get("developerId"));
String token = Glue.getOAuth().genToken(hash, login.getApp_id());
cache.put(login.getApp_id(), dev,duration);
return token;
}catch(Exception e) {
e.printStackTrace();
//System.out.println("===="+str);
return null;
}
}
public EWTTicket check(String token) {
EWTTicket tk = new EWTTicket();
String appId= Glue.getOAuth().getAppId(token);
if(appId==null)return tk;
Devel dev =cache.get(appId);
if(dev!=null&&dev.getHash()!=null) {
tk.setDevId(dev.getId());
tk.setAppId(dev.getKey());
tk.setPass(Glue.getOAuth().checkToken(token, dev.getHash()));
if(tk.pass)
return tk;
}
HTTP http = new HTTP();
Map param = new HashMap();
param.put("token", token);
String str= http.url(server+"?e=auth")
.postForm(param).asString();
SimpleJson sj = new SimpleJson();
sj.fromString(str);
Map data = (Map) sj.getRoot();
String code =data.get("code");
if(!"0".equals(code)) {
tk.setPass(false);
return tk;
}
tk.setPass(true);
//tokens.put(token, dev,duration);
dev= new Devel();
dev.setHash(data.get("hash"));
dev.setKey(appId);
dev.setId(data.get("developerId"));
cache.put(appId, dev,duration);
tk.setAppId(appId);
tk.setDevId(dev.getId());
return tk;
}
public class EWTTicket{
private String appId;
private String devId;
private boolean pass;
public String getAppId() {
return appId;
}
public void setAppId(String appId) {
this.appId = appId;
}
public String getDevId() {
return devId;
}
public void setDevId(String devId) {
this.devId = devId;
}
public boolean isPass() {
return pass;
}
public void setPass(boolean pass) {
this.pass = pass;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy