You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oltu.apache.org by ja...@apache.org on 2016/02/28 17:43:35 UTC
svn commit: r1732766 - in /oltu/trunk/demos/client-demo: ./
src/main/java/org/apache/oltu/oauth2/client/demo/controller/
src/main/resources/
Author: jasha
Date: Sun Feb 28 16:43:34 2016
New Revision: 1732766
URL: http://svn.apache.org/viewvc?rev=1732766&view=rev
Log:
OLTU-154 Fix logging config and add error logging in client-demo
Thanks for the patch Marko Asplund
Modified:
oltu/trunk/demos/client-demo/pom.xml
oltu/trunk/demos/client-demo/src/main/java/org/apache/oltu/oauth2/client/demo/controller/AuthzController.java
oltu/trunk/demos/client-demo/src/main/java/org/apache/oltu/oauth2/client/demo/controller/MainController.java
oltu/trunk/demos/client-demo/src/main/java/org/apache/oltu/oauth2/client/demo/controller/RedirectController.java
oltu/trunk/demos/client-demo/src/main/java/org/apache/oltu/oauth2/client/demo/controller/RegistrationController.java
oltu/trunk/demos/client-demo/src/main/java/org/apache/oltu/oauth2/client/demo/controller/ResourceController.java
oltu/trunk/demos/client-demo/src/main/java/org/apache/oltu/oauth2/client/demo/controller/TokenController.java
oltu/trunk/demos/client-demo/src/main/resources/log4j.properties
Modified: oltu/trunk/demos/client-demo/pom.xml
URL: http://svn.apache.org/viewvc/oltu/trunk/demos/client-demo/pom.xml?rev=1732766&r1=1732765&r2=1732766&view=diff
==============================================================================
--- oltu/trunk/demos/client-demo/pom.xml (original)
+++ oltu/trunk/demos/client-demo/pom.xml Sun Feb 28 16:43:34 2016
@@ -34,13 +34,20 @@
<oltu.oidc.version>0.1-SNAPSHOT</oltu.oidc.version>
<org.springframework.version>3.2.4.RELEASE</org.springframework.version>
<servlet-api.version>2.5</servlet-api.version>
+ <slf4j.version>1.7.18</slf4j.version>
</properties>
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
- <artifactId>slf4j-jcl</artifactId>
- <version>1.7.7</version>
+ <artifactId>jcl-over-slf4j</artifactId>
+ <version>${slf4j.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ <version>${slf4j.version}</version>
</dependency>
<!-- OAuth Dependency -->
@@ -143,7 +150,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
- <version>2.2</version>
<configuration>
<webResources>
<resource>
Modified: oltu/trunk/demos/client-demo/src/main/java/org/apache/oltu/oauth2/client/demo/controller/AuthzController.java
URL: http://svn.apache.org/viewvc/oltu/trunk/demos/client-demo/src/main/java/org/apache/oltu/oauth2/client/demo/controller/AuthzController.java?rev=1732766&r1=1732765&r2=1732766&view=diff
==============================================================================
--- oltu/trunk/demos/client-demo/src/main/java/org/apache/oltu/oauth2/client/demo/controller/AuthzController.java (original)
+++ oltu/trunk/demos/client-demo/src/main/java/org/apache/oltu/oauth2/client/demo/controller/AuthzController.java Sun Feb 28 16:43:34 2016
@@ -20,11 +20,12 @@
*/
package org.apache.oltu.oauth2.client.demo.controller;
-import java.io.IOException;
-import javax.servlet.http.Cookie;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
+import org.apache.oltu.oauth2.client.demo.Utils;
+import org.apache.oltu.oauth2.client.demo.exception.ApplicationException;
+import org.apache.oltu.oauth2.client.demo.model.OAuthParams;
+import org.apache.oltu.oauth2.client.request.OAuthClientRequest;
+import org.apache.oltu.oauth2.common.exception.OAuthSystemException;
+import org.apache.oltu.oauth2.common.message.types.ResponseType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
@@ -33,18 +34,15 @@ import org.springframework.web.bind.anno
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.view.RedirectView;
-import org.apache.oltu.oauth2.client.demo.Utils;
-import org.apache.oltu.oauth2.client.demo.exception.ApplicationException;
-import org.apache.oltu.oauth2.client.demo.model.OAuthParams;
-import org.apache.oltu.oauth2.client.request.OAuthClientRequest;
-import org.apache.oltu.oauth2.common.exception.OAuthSystemException;
-import org.apache.oltu.oauth2.common.message.types.ResponseType;
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
/**
* Handles requests for the application welcome page.
*/
@Controller
-@RequestMapping("/")
public class AuthzController {
private Logger logger = LoggerFactory.getLogger(AuthzController.class);
@@ -55,6 +53,8 @@ public class AuthzController {
HttpServletResponse res)
throws OAuthSystemException, IOException {
+ logger.debug("start processing /authorize request");
+
try {
Utils.validateAuthorizationParams(oauthParams);
@@ -78,6 +78,7 @@ public class AuthzController {
return new ModelAndView(new RedirectView(request.getLocationUri()));
} catch (ApplicationException e) {
+ logger.error("failed to validate OAuth authorization request parameters", e);
oauthParams.setErrorMessage(e.getMessage());
return new ModelAndView("get_authz");
}
Modified: oltu/trunk/demos/client-demo/src/main/java/org/apache/oltu/oauth2/client/demo/controller/MainController.java
URL: http://svn.apache.org/viewvc/oltu/trunk/demos/client-demo/src/main/java/org/apache/oltu/oauth2/client/demo/controller/MainController.java?rev=1732766&r1=1732765&r2=1732766&view=diff
==============================================================================
--- oltu/trunk/demos/client-demo/src/main/java/org/apache/oltu/oauth2/client/demo/controller/MainController.java (original)
+++ oltu/trunk/demos/client-demo/src/main/java/org/apache/oltu/oauth2/client/demo/controller/MainController.java Sun Feb 28 16:43:34 2016
@@ -20,10 +20,6 @@
*/
package org.apache.oltu.oauth2.client.demo.controller;
-import java.io.IOException;
-
-import javax.servlet.http.HttpServletResponse;
-
import org.apache.oltu.oauth2.client.demo.Utils;
import org.apache.oltu.oauth2.client.demo.model.OAuthParams;
import org.apache.oltu.oauth2.client.demo.model.OAuthRegParams;
@@ -32,7 +28,6 @@ import org.apache.oltu.oauth2.jwt.JWT;
import org.apache.oltu.oauth2.jwt.io.JWTClaimsSetWriter;
import org.apache.oltu.oauth2.jwt.io.JWTHeaderWriter;
import org.apache.oltu.oauth2.jwt.io.JWTReader;
-import org.apache.oltu.oauth2.jwt.io.JWTWriter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
@@ -41,18 +36,18 @@ import org.springframework.web.bind.anno
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
/**
*/
@Controller
-@RequestMapping("/")
public class MainController {
private Logger logger = LoggerFactory.getLogger(MainController.class);
private final JWTReader jwtReader = new JWTReader();
- private final JWTWriter jwtWriter = new JWTWriter();
-
@RequestMapping("/index")
public ModelAndView authorize(@ModelAttribute("oauthParams") OAuthParams oauthParams)
throws OAuthSystemException, IOException {
@@ -73,15 +68,14 @@ public class MainController {
selected = true;
oauthParams.setAuthzEndpoint(Utils.GITHUB_AUTHZ);
oauthParams.setTokenEndpoint(Utils.GITHUB_TOKEN);
-
} else if (Utils.FACEBOOK.equalsIgnoreCase(app)) {
selected = true;
oauthParams.setAuthzEndpoint(Utils.FACEBOOK_AUTHZ);
oauthParams.setTokenEndpoint(Utils.FACEBOOK_TOKEN);
} else if (Utils.GOOGLE.equalsIgnoreCase(app)) {
- selected = true;
- oauthParams.setAuthzEndpoint(Utils.GOOGLE_AUTHZ);
- oauthParams.setTokenEndpoint(Utils.GOOGLE_TOKEN);
+ selected = true;
+ oauthParams.setAuthzEndpoint(Utils.GOOGLE_AUTHZ);
+ oauthParams.setTokenEndpoint(Utils.GOOGLE_TOKEN);
} else if (Utils.LINKEDIN.equalsIgnoreCase(app)) {
selected = true;
oauthParams.setAuthzEndpoint(Utils.LINKEDIN_AUTHZ);
@@ -112,8 +106,8 @@ public class MainController {
oauthParams.setHeader(new JWTHeaderWriter().write(jwt.getHeader()));
oauthParams.setClaimsSet(new JWTClaimsSetWriter().write(jwt.getClaimsSet()));
} catch (Exception e){
- oauthParams.setErrorMessage(
- "Error while decoding the token: " + e);
+ logger.error("Error while decoding the token", e);
+ oauthParams.setErrorMessage("Error while decoding the token: " + e);
}
return new ModelAndView("index");
Modified: oltu/trunk/demos/client-demo/src/main/java/org/apache/oltu/oauth2/client/demo/controller/RedirectController.java
URL: http://svn.apache.org/viewvc/oltu/trunk/demos/client-demo/src/main/java/org/apache/oltu/oauth2/client/demo/controller/RedirectController.java?rev=1732766&r1=1732765&r2=1732766&view=diff
==============================================================================
--- oltu/trunk/demos/client-demo/src/main/java/org/apache/oltu/oauth2/client/demo/controller/RedirectController.java (original)
+++ oltu/trunk/demos/client-demo/src/main/java/org/apache/oltu/oauth2/client/demo/controller/RedirectController.java Sun Feb 28 16:43:34 2016
@@ -21,37 +21,34 @@
package org.apache.oltu.oauth2.client.demo.controller;
-import javax.servlet.http.Cookie;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
import org.apache.oltu.oauth2.client.demo.Utils;
import org.apache.oltu.oauth2.client.demo.model.OAuthParams;
import org.apache.oltu.oauth2.client.response.OAuthAuthzResponse;
import org.apache.oltu.oauth2.common.exception.OAuthProblemException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
-/**
- *
- *
- *
- */
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
@Controller
-@RequestMapping("/redirect")
public class RedirectController {
+ private Logger logger = LoggerFactory.getLogger(RedirectController.class);
- @RequestMapping(method = RequestMethod.GET)
+ @RequestMapping(value = "/redirect", method = RequestMethod.GET)
public ModelAndView handleRedirect(@ModelAttribute("oauthParams") OAuthParams oauthParams,
HttpServletRequest request,
HttpServletResponse response) {
+ logger.debug("creating OAuth authorization response wrapper (/redirect)");
try {
-
// Get OAuth Info
String clientId = Utils.findCookieValue(request, "clientId");
String clientSecret = Utils.findCookieValue(request, "clientSecret");
@@ -83,12 +80,13 @@ public class RedirectController {
oauthParams.setApplication(app);
} catch (OAuthProblemException e) {
+ logger.error("failed to create OAuth authorization response wrapper", e);
StringBuffer sb = new StringBuffer();
- sb.append("</br>");
- sb.append("Error code: ").append(e.getError()).append("</br>");
- sb.append("Error description: ").append(e.getDescription()).append("</br>");
- sb.append("Error uri: ").append(e.getUri()).append("</br>");
- sb.append("State: ").append(e.getState()).append("</br>");
+ sb.append("<br />");
+ sb.append("Error code: ").append(e.getError()).append("<br />");
+ sb.append("Error description: ").append(e.getDescription()).append("<br />");
+ sb.append("Error uri: ").append(e.getUri()).append("<br />");
+ sb.append("State: ").append(e.getState()).append("<br />");
oauthParams.setErrorMessage(sb.toString());
return new ModelAndView("get_authz");
}
Modified: oltu/trunk/demos/client-demo/src/main/java/org/apache/oltu/oauth2/client/demo/controller/RegistrationController.java
URL: http://svn.apache.org/viewvc/oltu/trunk/demos/client-demo/src/main/java/org/apache/oltu/oauth2/client/demo/controller/RegistrationController.java?rev=1732766&r1=1732765&r2=1732766&view=diff
==============================================================================
--- oltu/trunk/demos/client-demo/src/main/java/org/apache/oltu/oauth2/client/demo/controller/RegistrationController.java (original)
+++ oltu/trunk/demos/client-demo/src/main/java/org/apache/oltu/oauth2/client/demo/controller/RegistrationController.java Sun Feb 28 16:43:34 2016
@@ -21,14 +21,6 @@
package org.apache.oltu.oauth2.client.demo.controller;
-import java.io.IOException;
-import javax.servlet.http.HttpServletRequest;
-
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.ModelAttribute;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.servlet.ModelAndView;
-
import org.apache.oltu.oauth2.client.URLConnectionClient;
import org.apache.oltu.oauth2.client.demo.Utils;
import org.apache.oltu.oauth2.client.demo.exception.ApplicationException;
@@ -41,24 +33,29 @@ import org.apache.oltu.oauth2.ext.dynami
import org.apache.oltu.oauth2.ext.dynamicreg.client.request.OAuthClientRegistrationRequest;
import org.apache.oltu.oauth2.ext.dynamicreg.client.response.OAuthClientRegistrationResponse;
import org.apache.oltu.oauth2.ext.dynamicreg.common.OAuthRegistration;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import java.io.IOException;
-/**
- *
- *
- *
- */
@Controller
-@RequestMapping("/")
public class RegistrationController {
+ private Logger logger = LoggerFactory.getLogger(RegistrationController.class);
+
@RequestMapping(value = "/register")
public ModelAndView authorize(@ModelAttribute("oauthRegParams") OAuthRegParams oauthRegParams,
@ModelAttribute("oauthParams") OAuthParams oauthParams,
HttpServletRequest req) throws OAuthSystemException, IOException {
+ logger.debug("start processing /register request");
try {
-
Utils.validateRegistrationParams(oauthRegParams);
OAuthClientRequest request = null;
@@ -91,11 +88,12 @@ public class RegistrationController {
return new ModelAndView("get_authz");
-
} catch (ApplicationException e) {
+ logger.error("failed to validate OAuth authorization request parameters", e);
oauthRegParams.setErrorMessage(e.getMessage());
return new ModelAndView("register");
} catch (OAuthProblemException e) {
+ logger.error("failed to acquire OAuth client registration info", e);
oauthRegParams.setErrorMessage(e.getMessage());
return new ModelAndView("register");
}
Modified: oltu/trunk/demos/client-demo/src/main/java/org/apache/oltu/oauth2/client/demo/controller/ResourceController.java
URL: http://svn.apache.org/viewvc/oltu/trunk/demos/client-demo/src/main/java/org/apache/oltu/oauth2/client/demo/controller/ResourceController.java?rev=1732766&r1=1732765&r2=1732766&view=diff
==============================================================================
--- oltu/trunk/demos/client-demo/src/main/java/org/apache/oltu/oauth2/client/demo/controller/ResourceController.java (original)
+++ oltu/trunk/demos/client-demo/src/main/java/org/apache/oltu/oauth2/client/demo/controller/ResourceController.java Sun Feb 28 16:43:34 2016
@@ -1,17 +1,17 @@
/**
- * Copyright 2010 Newcastle University
- *
- * http://research.ncl.ac.uk/smart/
- *
+ * Copyright 2010 Newcastle University
+ * <p>
+ * http://research.ncl.ac.uk/smart/
+ * <p>
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -20,8 +20,7 @@
*/
package org.apache.oltu.oauth2.client.demo.controller;
-
-import javax.servlet.http.HttpServletRequest;
+
import org.apache.oltu.oauth2.client.OAuthClient;
import org.apache.oltu.oauth2.client.URLConnectionClient;
import org.apache.oltu.oauth2.client.demo.Utils;
@@ -31,52 +30,63 @@ import org.apache.oltu.oauth2.client.req
import org.apache.oltu.oauth2.client.response.OAuthResourceResponse;
import org.apache.oltu.oauth2.common.exception.OAuthProblemException;
import org.apache.oltu.oauth2.common.exception.OAuthSystemException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
-/**
- *
- *
- *
- */
+import javax.servlet.http.HttpServletRequest;
+
@Controller
-@RequestMapping("/get_resource")
public class ResourceController {
- @RequestMapping
+ private Logger logger = LoggerFactory.getLogger(ResourceController.class);
+
+ @RequestMapping("/get_resource")
public ModelAndView authorize(@ModelAttribute("oauthParams") OAuthParams oauthParams,
HttpServletRequest req) {
+ logger.debug("start processing /get_resource request");
+
try {
- OAuthClientRequest request=null;
-
- if (Utils.REQUEST_TYPE_QUERY.equals(oauthParams.getRequestType())){
- request= new OAuthBearerClientRequest(oauthParams.getResourceUrl()).setAccessToken(oauthParams.getAccessToken()).buildQueryMessage();
- }else if (Utils.REQUEST_TYPE_HEADER.equals(oauthParams.getRequestType())){
- request= new OAuthBearerClientRequest(oauthParams.getResourceUrl()).setAccessToken(oauthParams.getAccessToken()).buildHeaderMessage();
- }else if (Utils.REQUEST_TYPE_BODY.equals(oauthParams.getRequestType())){
- request= new OAuthBearerClientRequest(oauthParams.getResourceUrl()).setAccessToken(oauthParams.getAccessToken()).buildBodyMessage();
- }
-
- OAuthClient client = new OAuthClient(new URLConnectionClient());
- OAuthResourceResponse resourceResponse= client.resource(request, oauthParams.getRequestMethod(), OAuthResourceResponse.class);
-
- if (resourceResponse.getResponseCode()==200){
- oauthParams.setResource(resourceResponse.getBody());
- }else{
- oauthParams.setErrorMessage(
- "Could not access resource: " + resourceResponse.getResponseCode() + " " + resourceResponse.getBody());
- }
- } catch (OAuthSystemException e) {
- oauthParams.setErrorMessage(e.getMessage());
- } catch (OAuthProblemException e) {
- oauthParams.setErrorMessage(e.getMessage());
- }
-
+ OAuthClientRequest request = getoAuthClientRequest(oauthParams);
+
+ OAuthClient client = new OAuthClient(new URLConnectionClient());
+ OAuthResourceResponse resourceResponse = client.resource(request, oauthParams.getRequestMethod(), OAuthResourceResponse.class);
+
+ if (resourceResponse.getResponseCode() == 200) {
+ oauthParams.setResource(resourceResponse.getBody());
+ } else {
+ oauthParams.setErrorMessage(
+ "Could not access resource: " + resourceResponse.getResponseCode() + " " + resourceResponse.getBody());
+ }
+ } catch (OAuthSystemException e) {
+ logger.error("Failed to process get_resource request", e);
+ oauthParams.setErrorMessage(e.getMessage());
+ } catch (OAuthProblemException e) {
+ logger.error("Invalid get_resource request", e);
+ oauthParams.setErrorMessage(e.getMessage());
+ }
+
return new ModelAndView("resource");
+ }
+ private OAuthClientRequest getoAuthClientRequest(OAuthParams oauthParams) throws OAuthSystemException {
+ OAuthClientRequest request = null;
+ OAuthBearerClientRequest oAuthBearerClientRequest =
+ new OAuthBearerClientRequest(oauthParams.getResourceUrl())
+ .setAccessToken(oauthParams.getAccessToken());
+ String requestType = oauthParams.getRequestType();
+ if (Utils.REQUEST_TYPE_QUERY.equals(requestType)) {
+ request = oAuthBearerClientRequest.buildQueryMessage();
+ } else if (Utils.REQUEST_TYPE_HEADER.equals(requestType)) {
+ request = oAuthBearerClientRequest.buildHeaderMessage();
+ } else if (Utils.REQUEST_TYPE_BODY.equals(requestType)) {
+ request = oAuthBearerClientRequest.buildBodyMessage();
+ }
+ return request;
}
}
Modified: oltu/trunk/demos/client-demo/src/main/java/org/apache/oltu/oauth2/client/demo/controller/TokenController.java
URL: http://svn.apache.org/viewvc/oltu/trunk/demos/client-demo/src/main/java/org/apache/oltu/oauth2/client/demo/controller/TokenController.java?rev=1732766&r1=1732765&r2=1732766&view=diff
==============================================================================
--- oltu/trunk/demos/client-demo/src/main/java/org/apache/oltu/oauth2/client/demo/controller/TokenController.java (original)
+++ oltu/trunk/demos/client-demo/src/main/java/org/apache/oltu/oauth2/client/demo/controller/TokenController.java Sun Feb 28 16:43:34 2016
@@ -21,11 +21,6 @@
package org.apache.oltu.oauth2.client.demo.controller;
-import java.io.IOException;
-import java.net.URL;
-
-import javax.servlet.http.HttpServletRequest;
-
import org.apache.oltu.oauth2.client.OAuthClient;
import org.apache.oltu.oauth2.client.URLConnectionClient;
import org.apache.oltu.oauth2.client.demo.Utils;
@@ -41,31 +36,28 @@ import org.apache.oltu.oauth2.common.mes
import org.apache.oltu.oauth2.jwt.JWT;
import org.apache.oltu.oauth2.jwt.io.JWTClaimsSetWriter;
import org.apache.oltu.oauth2.jwt.io.JWTHeaderWriter;
-import org.apache.oltu.oauth2.jwt.io.JWTWriter;
import org.apache.oltu.openidconnect.client.response.OpenIdConnectResponse;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
+import javax.servlet.http.HttpServletRequest;
+import java.io.IOException;
+import java.net.URI;
-/**
- *
- *
- *
- */
@Controller
-@RequestMapping("/get_token")
public class TokenController {
+ private Logger logger = LoggerFactory.getLogger(TokenController.class);
- private final JWTWriter jwtWriter = new JWTWriter();
-
- @RequestMapping
+ @RequestMapping("/get_token")
public ModelAndView authorize(@ModelAttribute("oauthParams") OAuthParams oauthParams,
HttpServletRequest req) throws OAuthSystemException, IOException {
+ logger.debug("authorizing");
try {
-
Utils.validateTokenParams(oauthParams);
OAuthClientRequest request = OAuthClientRequest
@@ -80,50 +72,48 @@ public class TokenController {
OAuthClient client = new OAuthClient(new URLConnectionClient());
String app = Utils.findCookieValue(req, "app");
- OAuthAccessTokenResponse oauthResponse = null;
Class<? extends OAuthAccessTokenResponse> cl = OAuthJSONAccessTokenResponse.class;
if (Utils.FACEBOOK.equalsIgnoreCase(app)) {
cl = GitHubTokenResponse.class;
} else if (Utils.GITHUB.equalsIgnoreCase(app)) {
cl = GitHubTokenResponse.class;
- }else if (Utils.GOOGLE.equalsIgnoreCase(app)){
- cl = OpenIdConnectResponse.class;
+ } else if (Utils.GOOGLE.equalsIgnoreCase(app)){
+ cl = OpenIdConnectResponse.class;
}
- oauthResponse = client.accessToken(request, cl);
+ OAuthAccessTokenResponse oauthResponse = client.accessToken(request, cl);
oauthParams.setAccessToken(oauthResponse.getAccessToken());
oauthParams.setExpiresIn(oauthResponse.getExpiresIn());
oauthParams.setRefreshToken(Utils.isIssued(oauthResponse.getRefreshToken()));
if (Utils.GOOGLE.equalsIgnoreCase(app)){
+ OpenIdConnectResponse openIdConnectResponse = ((OpenIdConnectResponse)oauthResponse);
+ JWT idToken = openIdConnectResponse.getIdToken();
+ oauthParams.setIdToken(idToken.getRawString());
- OpenIdConnectResponse openIdConnectResponse = ((OpenIdConnectResponse)oauthResponse);
- JWT idToken = openIdConnectResponse.getIdToken();
- oauthParams.setIdToken(idToken.getRawString());
-
- oauthParams.setHeader(new JWTHeaderWriter().write(idToken.getHeader()));
+ oauthParams.setHeader(new JWTHeaderWriter().write(idToken.getHeader()));
oauthParams.setClaimsSet(new JWTClaimsSetWriter().write(idToken.getClaimsSet()));
- URL url = new URL(oauthParams.getTokenEndpoint());
-
- oauthParams.setIdTokenValid(openIdConnectResponse.checkId(url.getHost(), oauthParams.getClientId()));
-
+ URI uri = URI.create(oauthParams.getTokenEndpoint());
+ oauthParams.setIdTokenValid(openIdConnectResponse.checkId(uri.getHost(), oauthParams.getClientId()));
}
return new ModelAndView("get_resource");
} catch (ApplicationException e) {
+ logger.error("failed to validate OAuth token request parameters", e);
oauthParams.setErrorMessage(e.getMessage());
return new ModelAndView("request_token");
} catch (OAuthProblemException e) {
+ logger.error("failed to acquire OAuth access token", e);
StringBuffer sb = new StringBuffer();
- sb.append("</br>");
- sb.append("Error code: ").append(e.getError()).append("</br>");
- sb.append("Error description: ").append(e.getDescription()).append("</br>");
- sb.append("Error uri: ").append(e.getUri()).append("</br>");
- sb.append("State: ").append(e.getState()).append("</br>");
+ sb.append("<br />");
+ sb.append("Error code: ").append(e.getError()).append("<br />");
+ sb.append("Error description: ").append(e.getDescription()).append("<br />");
+ sb.append("Error uri: ").append(e.getUri()).append("<br />");
+ sb.append("State: ").append(e.getState()).append("<br />");
oauthParams.setErrorMessage(sb.toString());
return new ModelAndView("get_authz");
}
Modified: oltu/trunk/demos/client-demo/src/main/resources/log4j.properties
URL: http://svn.apache.org/viewvc/oltu/trunk/demos/client-demo/src/main/resources/log4j.properties?rev=1732766&r1=1732765&r2=1732766&view=diff
==============================================================================
--- oltu/trunk/demos/client-demo/src/main/resources/log4j.properties (original)
+++ oltu/trunk/demos/client-demo/src/main/resources/log4j.properties Sun Feb 28 16:43:34 2016
@@ -26,4 +26,6 @@ log4j.appender.CONSOLE=org.apache.log4j.
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=[%d{yyyy-mm-dd hh:mm:ss.S},%6.6r]%-5p[%t]%x(%F:%L) - %m%n
-#log4j.logger.org.hibernate.search=TRACE
\ No newline at end of file
+#log4j.logger.org.hibernate.search=TRACE
+
+log4j.logger.org.apache.oltu.oauth2.client.demo=DEBUG