diff --git a/app/src/main/java/eu/stuifzand/micropub/auth/AuthenticationActivity.java b/app/src/main/java/eu/stuifzand/micropub/auth/AuthenticationActivity.java
index d7d714c..f3a6978 100644
--- a/app/src/main/java/eu/stuifzand/micropub/auth/AuthenticationActivity.java
+++ b/app/src/main/java/eu/stuifzand/micropub/auth/AuthenticationActivity.java
@@ -9,6 +9,7 @@ import android.os.Build;
import android.os.Bundle;
import android.support.annotation.RequiresApi;
import android.util.Log;
+import android.webkit.WebResourceError;
import android.webkit.WebResourceRequest;
import android.webkit.WebSettings;
import android.webkit.WebView;
@@ -40,17 +41,24 @@ public class AuthenticationActivity extends AccountAuthenticatorActivity {
WebView webview = findViewById(R.id.webview);
WebSettings webSettings = webview.getSettings();
webSettings.setJavaScriptEnabled(true);
-
+ webSettings.setDomStorageEnabled(true);
+ webSettings.setUserAgentString(getString(R.string.user_agent));
HttpUrl.Builder builder = HttpUrl.parse(endpoint).newBuilder();
builder.setQueryParameter("me", me)
.setQueryParameter("client_id", "https://stuifzand.eu/micropub")
.setQueryParameter("redirect_uri", "https://stuifzand.eu/micropub-auth")
.setQueryParameter("response_type", "code")
- .setQueryParameter("state", "1234")
- .setQueryParameter("scope", "create edit update post delete");
- Log.i("micropub", builder.toString());
+ .setQueryParameter("state", "1234") // @TODO use random states, check the state later
+ .setQueryParameter("scope", "create edit update post delete"); // @TODO use different scope
+ Log.i("micropub", "LoadUrl: " + builder.toString());
webview.loadUrl(builder.toString());
webview.setWebViewClient(new WebViewClient() {
+ @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
+ @Override
+ public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
+ Log.i("micropub", request.getMethod()+ " "+request.getUrl());
+ Log.i("micropub", error.toString());
+ }
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public boolean shouldOverrideUrlLoading(WebView viewx, WebResourceRequest request) {
diff --git a/app/src/main/java/eu/stuifzand/micropub/auth/Authenticator.java b/app/src/main/java/eu/stuifzand/micropub/auth/Authenticator.java
index b758b03..1d2d17b 100644
--- a/app/src/main/java/eu/stuifzand/micropub/auth/Authenticator.java
+++ b/app/src/main/java/eu/stuifzand/micropub/auth/Authenticator.java
@@ -9,6 +9,7 @@ import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
+import android.util.Log;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
@@ -93,12 +94,14 @@ public class Authenticator extends AbstractAccountAuthenticator {
Response tokenResponse = null;
try {
tokenResponse = call.execute();
- ResponseBody body = tokenResponse.body();
- JsonParser parser = new JsonParser();
- JsonObject element = parser.parse(body.string()).getAsJsonObject();
- authToken = element.get("access_token").getAsString();
+ if (tokenResponse.isSuccessful()) {
+ ResponseBody body = tokenResponse.body();
+ JsonParser parser = new JsonParser();
+ JsonObject element = parser.parse(body.string()).getAsJsonObject();
+ authToken = element.get("access_token").getAsString();
+ }
} catch (IOException e) {
-
+ Log.e("micropub", "Failed getting token response", e);
} finally {
if (tokenResponse != null) {
tokenResponse.close();
diff --git a/app/src/main/java/eu/stuifzand/micropub/auth/VerifyAuthenticationTask.java b/app/src/main/java/eu/stuifzand/micropub/auth/VerifyAuthenticationTask.java
index 30adc57..e54d377 100644
--- a/app/src/main/java/eu/stuifzand/micropub/auth/VerifyAuthenticationTask.java
+++ b/app/src/main/java/eu/stuifzand/micropub/auth/VerifyAuthenticationTask.java
@@ -6,7 +6,9 @@ import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
+import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
+import com.google.gson.JsonParseException;
import com.google.gson.JsonParser;
import java.io.IOException;
@@ -25,15 +27,32 @@ public class VerifyAuthenticationTask extends AsyncTaskCategories (space separated)
Post
Syndicate to
+ Wrimini