diff --git a/java/com.sap.sailing.domain.igtimiadapter.gateway/build.properties b/java/com.sap.sailing.domain.igtimiadapter.gateway/build.properties
index a4af5b4a1ef..cab8cf66a3c 100644
--- a/java/com.sap.sailing.domain.igtimiadapter.gateway/build.properties
+++ b/java/com.sap.sailing.domain.igtimiadapter.gateway/build.properties
@@ -3,4 +3,5 @@ source.. = src/,\
output.. = bin/
bin.includes = META-INF/,\
.,\
- WEB-INF/
+ WEB-INF/,\
+ redirect.html
diff --git a/java/com.sap.sailing.domain.igtimiadapter.gateway/redirect.html b/java/com.sap.sailing.domain.igtimiadapter.gateway/redirect.html
new file mode 100644
index 00000000000..2c42adca434
--- /dev/null
+++ b/java/com.sap.sailing.domain.igtimiadapter.gateway/redirect.html
@@ -0,0 +1,29 @@
+
+
+Igtimi
+
+
+
+
+
\ No newline at end of file
diff --git a/java/com.sap.sailing.domain.igtimiadapter.gateway/src/com/sap/sailing/domain/igtimiadapter/gateway/oauth/AuthorizationCallback.java b/java/com.sap.sailing.domain.igtimiadapter.gateway/src/com/sap/sailing/domain/igtimiadapter/gateway/oauth/AuthorizationCallback.java
index c9ec0b8ad6f..a377ce1d9a2 100644
--- a/java/com.sap.sailing.domain.igtimiadapter.gateway/src/com/sap/sailing/domain/igtimiadapter/gateway/oauth/AuthorizationCallback.java
+++ b/java/com.sap.sailing.domain.igtimiadapter.gateway/src/com/sap/sailing/domain/igtimiadapter/gateway/oauth/AuthorizationCallback.java
@@ -4,10 +4,12 @@ import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URLEncoder;
+import java.util.Base64;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.ws.rs.GET;
+import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
@@ -55,7 +57,10 @@ public class AuthorizationCallback {
Response result;
if (state != null) {
// redirect to the server whose base URL is contained in the state parameter
- result = Response.temporaryRedirect(new URI(state+"/igtimi/oauth/v1"+AUTHORIZATIONCALLBACK+"?code="+URLEncoder.encode(code, "UTF-8"))).build();
+ String target = Base64.getEncoder().encodeToString(
+ (state + "/igtimi/oauth/v1" + AUTHORIZATIONCALLBACK + "?code=" + URLEncoder.encode(code, "UTF-8"))
+ .getBytes());
+ result = Response.temporaryRedirect(new URI(state + "/igtimi/redirect.html?" + target)).build();
} else {
if (code != null) {
try {
@@ -82,7 +87,15 @@ public class AuthorizationCallback {
}
return result;
}
-
+
+ @POST
+ @Produces("text/plain;charset=UTF-8")
+ @Path(AUTHORIZATIONCALLBACK)
+ public Response obtainAccessTokenPost(@QueryParam("code") String code, @QueryParam("state") String state)
+ throws ClientProtocolException, IOException, IllegalStateException, ParseException, URISyntaxException {
+ return obtainAccessToken(code, state);
+ }
+
@GET
@Produces("application/json;charset=UTF-8")
@Path("uri")
diff --git a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/impl/ExpeditionWindMeasureStatusGetServlet.java b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/impl/ExpeditionWindMeasureStatusGetServlet.java
index 3d9932e1e35..fe9339679ef 100644
--- a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/impl/ExpeditionWindMeasureStatusGetServlet.java
+++ b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/impl/ExpeditionWindMeasureStatusGetServlet.java
@@ -24,7 +24,7 @@ import com.sap.sailing.expeditionconnector.ExpeditionMessage;
import com.sap.sailing.expeditionconnector.ExpeditionTrackerFactory;
import com.sap.sailing.expeditionconnector.UDPExpeditionReceiver;
-public class ExpeditionWindMeasureStatusGetServlet extends SailingServerHttpServletWithPostBasedConrentReplacing implements ExpeditionListener {
+public class ExpeditionWindMeasureStatusGetServlet extends SailingServerHttpServletWithPostBasedContentReplacing implements ExpeditionListener {
private static final long serialVersionUID = -6791613843435009810L;
private Map lastMessageInfosPerBoat;
diff --git a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/impl/SailingServerHttpServletWithPostBasedConrentReplacing.java b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/impl/SailingServerHttpServletWithPostBasedContentReplacing.java
similarity index 97%
rename from java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/impl/SailingServerHttpServletWithPostBasedConrentReplacing.java
rename to java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/impl/SailingServerHttpServletWithPostBasedContentReplacing.java
index da50396229b..f4c098caeae 100755
--- a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/impl/SailingServerHttpServletWithPostBasedConrentReplacing.java
+++ b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/impl/SailingServerHttpServletWithPostBasedContentReplacing.java
@@ -20,7 +20,7 @@ import com.sap.sse.common.HttpRequestHeaderConstants;
* @author Axel Uhl (D043530)
*
*/
-public abstract class SailingServerHttpServletWithPostBasedConrentReplacing extends SailingServerHttpServlet {
+public abstract class SailingServerHttpServletWithPostBasedContentReplacing extends SailingServerHttpServlet {
private static final long serialVersionUID = -2819428093387051473L;
protected void writePostRefreshingHeadAndEmptyBody(HttpServletRequest req, HttpServletResponse resp, String title) throws IOException {
diff --git a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/impl/WindStatusServlet.java b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/impl/WindStatusServlet.java
index d460dc6304b..889fbba5897 100755
--- a/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/impl/WindStatusServlet.java
+++ b/java/com.sap.sailing.server.gateway/src/com/sap/sailing/server/gateway/impl/WindStatusServlet.java
@@ -39,7 +39,7 @@ import com.sap.sse.common.Util;
* @author Simon Marcel Pamies
*
*/
-public abstract class WindStatusServlet extends SailingServerHttpServletWithPostBasedConrentReplacing implements IgtimiWindListener, BulkFixReceiver {
+public abstract class WindStatusServlet extends SailingServerHttpServletWithPostBasedContentReplacing implements IgtimiWindListener, BulkFixReceiver {
private static final Logger logger = Logger.getLogger(WindStatusServlet.class.getName());
private static final long serialVersionUID = -6791613843435003810L;