Repository navigation
Expand file tree
/
Copy pathAccessTokenGenerator.java
More file actions
110 lines (92 loc) · 3.68 KB
/
Copy pathAccessTokenGenerator.java
File metadata and controls
110 lines (92 loc) · 3.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
package chatapp;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.concurrent.CompletableFuture;
import static chatapp.DataExtractor.BASE_URL;
public class AccessTokenGenerator {
private static String access_token;
private static String name;
private static StringBuffer password;
private static boolean isValidAccessToken = false;
private static int last_status_code = -1;
private static HttpURLConnection last_request_content = null;
public AccessTokenGenerator() {
}
public AccessTokenGenerator(String name, StringBuffer password) throws IOException {
AccessTokenGenerator.name = name;
AccessTokenGenerator.password = password;
final String url = String.format("%s/login/users/%s?password=%s", BASE_URL, URLEncoder.encode(name, StandardCharsets.UTF_8), URLEncoder.encode(String.valueOf(password), StandardCharsets.UTF_8));
Response access_token_resp = Requests.get(url);
last_status_code = access_token_resp.status_code;
last_request_content = access_token_resp.requestContent;
GsonBuilder builder = new GsonBuilder();
builder.setPrettyPrinting();
Gson gson = builder.create();
try {
System.out.println(url);
System.out.println(access_token_resp.status_code);
System.out.println(access_token_resp.content);
Authorization auth = gson.fromJson(access_token_resp.content, Authorization.class);
access_token = auth.getAccess_token();
isValidAccessToken = true;
} catch (Exception var7) {
var7.printStackTrace();
}
CompletableFuture.runAsync(() -> {
while (true) {
try {
Thread.sleep(1800000L);
} catch (InterruptedException var3) {
InterruptedException e = var3;
e.printStackTrace();
}
try {
regenerateAccess_token(password);
} catch (IOException var2) {
IOException ex = var2;
ex.printStackTrace();
}
}
});
}
public static void regenerateAccess_token(StringBuffer password) throws IOException {
AccessTokenGenerator.password = password;
Response access_token_resp = Requests.get(String.format("%s/users/login/%s?password=%s", BASE_URL, name, password));
last_status_code = access_token_resp.status_code;
last_request_content = access_token_resp.requestContent;
if (access_token_resp.status_code == 200) {
isValidAccessToken = true;
GsonBuilder builder = new GsonBuilder();
builder.setPrettyPrinting();
Gson gson = builder.create();
Authorization auth = (Authorization) gson.fromJson(access_token_resp.content, Authorization.class);
access_token = auth.getAccess_token();
}
}
public static String getAccess_token() {
return access_token;
}
public static String getName() {
return name;
}
public static StringBuffer getPassword() {
return password;
}
public static boolean isValidAccessToken() {
return isValidAccessToken;
}
public static int getLast_status_code() {
return last_status_code;
}
public static HttpURLConnection getLast_request_content() {
return last_request_content;
}
}