getParsed NullPointerException / Version 7
This commit is contained in:
@@ -215,10 +215,16 @@ class KVVLogin extends HTTPService {
|
|||||||
cookies.put("ROUTEID", ROUTEID);
|
cookies.put("ROUTEID", ROUTEID);
|
||||||
cookies.put("_idp_session", _idp_session);
|
cookies.put("_idp_session", _idp_session);
|
||||||
get("https://identity.fu-berlin.de/idp-fub/profile/SAML2/Redirect/SSO", cookies, response -> {
|
get("https://identity.fu-berlin.de/idp-fub/profile/SAML2/Redirect/SSO", cookies, response -> {
|
||||||
|
String body = response.getParsed();
|
||||||
|
if (body == null) {
|
||||||
|
errorCallback.onError(new NetworkError(100143, -1, "Error on getting SAML response!"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
HashMap<String, String> object = new HashMap<>();
|
HashMap<String, String> object = new HashMap<>();
|
||||||
|
|
||||||
Pattern pattern = Pattern.compile("ss:mem:([0-9a-f]+)");
|
Pattern pattern = Pattern.compile("ss:mem:([0-9a-f]+)");
|
||||||
Matcher matcher = pattern.matcher(response.getParsed());
|
Matcher matcher = pattern.matcher(body);
|
||||||
if (!matcher.find()) {
|
if (!matcher.find()) {
|
||||||
errorCallback.onError(new NetworkError(100142, -1, "Error on getting SAML response!"));
|
errorCallback.onError(new NetworkError(100142, -1, "Error on getting SAML response!"));
|
||||||
return;
|
return;
|
||||||
@@ -226,7 +232,7 @@ class KVVLogin extends HTTPService {
|
|||||||
object.put("RelayState", "ss:mem:"+matcher.group(1));
|
object.put("RelayState", "ss:mem:"+matcher.group(1));
|
||||||
|
|
||||||
pattern = Pattern.compile("name=\"SAMLResponse\" value=\"([0-9a-zA-Z+]+=*)");
|
pattern = Pattern.compile("name=\"SAMLResponse\" value=\"([0-9a-zA-Z+]+=*)");
|
||||||
matcher = pattern.matcher(response.getParsed());
|
matcher = pattern.matcher(body);
|
||||||
if (!matcher.find()) {
|
if (!matcher.find()) {
|
||||||
errorCallback.onError(new NetworkError(100141, -1, "Error on getting SAML response!"));
|
errorCallback.onError(new NetworkError(100141, -1, "Error on getting SAML response!"));
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -20,6 +20,10 @@ final class TestLogin extends HTTPService {
|
|||||||
static void testLogin(Context context, LoginToken loginToken, NetworkCallback<LoginToken> callback, NetworkErrorCallback errorCallback) {
|
static void testLogin(Context context, LoginToken loginToken, NetworkCallback<LoginToken> callback, NetworkErrorCallback errorCallback) {
|
||||||
new TestLogin(context).get(String.format("https://kvv.imp.fu-berlin.de/direct/profile/%s.json", loginToken.getUsername()), loginToken.getCookies(), response -> {
|
new TestLogin(context).get(String.format("https://kvv.imp.fu-berlin.de/direct/profile/%s.json", loginToken.getUsername()), loginToken.getCookies(), response -> {
|
||||||
String body = response.getParsed();
|
String body = response.getParsed();
|
||||||
|
if (body == null) {
|
||||||
|
errorCallback.onError(new NetworkError(100202, 403, "Testing login failed!"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
JSONObject json = new JSONObject(body);
|
JSONObject json = new JSONObject(body);
|
||||||
String displayName = json.getString("displayName");
|
String displayName = json.getString("displayName");
|
||||||
|
|||||||
Reference in New Issue
Block a user