Mercurial > hg > AnnotationManagerN4J
comparison src/main/java/de/mpiwg/itgroup/annotations/restlet/AnnotatorResourceImpl.java @ 89:247cbbb385de
improved logging.
author | casties |
---|---|
date | Wed, 04 Feb 2015 19:37:02 +0100 |
parents | b406507a953d |
children | 475ab3d32630 |
comparison
equal
deleted
inserted
replaced
88:b406507a953d | 89:247cbbb385de |
---|---|
70 * @author dwinter, casties | 70 * @author dwinter, casties |
71 * | 71 * |
72 */ | 72 */ |
73 public abstract class AnnotatorResourceImpl extends ServerResource { | 73 public abstract class AnnotatorResourceImpl extends ServerResource { |
74 | 74 |
75 protected static Logger logger = Logger.getLogger(AnnotatorResourceImpl.class.toString()); | 75 protected static Logger logger = Logger.getLogger(AnnotatorResourceImpl.class.getCanonicalName()); |
76 | 76 |
77 private AnnotationStore store; | 77 private AnnotationStore store; |
78 | 78 |
79 protected String getAllowedMethodsForHeader() { | 79 protected String getAllowedMethodsForHeader() { |
80 return "OPTIONS,GET,POST"; | 80 return "OPTIONS,GET,POST"; |
168 @SuppressWarnings("unchecked") | 168 @SuppressWarnings("unchecked") |
169 Series<Header> requestHeaders = (Series<Header>) getRequest().getAttributes().get("org.restlet.http.headers"); | 169 Series<Header> requestHeaders = (Series<Header>) getRequest().getAttributes().get("org.restlet.http.headers"); |
170 String authToken = requestHeaders.getFirstValue("x-annotator-auth-token", true); | 170 String authToken = requestHeaders.getFirstValue("x-annotator-auth-token", true); |
171 if (authToken == null) { | 171 if (authToken == null) { |
172 if (!((BaseRestlet) getApplication()).isAuthorizationMode()) { | 172 if (!((BaseRestlet) getApplication()).isAuthorizationMode()) { |
173 // no token, no-auth mode -> anonymous | |
173 return Person.getAnonymous(); | 174 return Person.getAnonymous(); |
174 } | 175 } |
176 // no token, auth mode -> null | |
175 return null; | 177 return null; |
176 } | 178 } |
177 Person user = null; | |
178 try { | 179 try { |
179 // decode token first to get consumer key | 180 // decode token first to get consumer key |
180 JsonToken token = new JsonTokenParser(null, null).deserialize(authToken); | 181 JsonToken token = new JsonTokenParser(null, null).deserialize(authToken); |
181 String consumerKey = token.getParamAsPrimitive("consumerKey").getAsString(); | 182 String consumerKey = token.getParamAsPrimitive("consumerKey").getAsString(); |
182 // get stored consumer secret for key | 183 // get stored consumer secret for key |
195 new JsonTokenParser(new SystemClock(), null, (Checker[]) null).verify(token, verifiers); | 196 new JsonTokenParser(new SystemClock(), null, (Checker[]) null).verify(token, verifiers); |
196 // create Person | 197 // create Person |
197 JsonObject payload = token.getPayloadAsJsonObject(); | 198 JsonObject payload = token.getPayloadAsJsonObject(); |
198 // userId is mandatory | 199 // userId is mandatory |
199 String userId = payload.get("userId").getAsString(); | 200 String userId = payload.get("userId").getAsString(); |
200 user = new Person(userId); | 201 Person user = new Person(userId); |
201 // displayName is optional | 202 // displayName is optional |
202 if (payload.has("displayName")) { | 203 if (payload.has("displayName")) { |
203 user.name = payload.get("displayName").getAsString(); | 204 user.name = payload.get("displayName").getAsString(); |
204 } | 205 } |
205 // memberOf groups is optional | 206 // memberOf groups is optional |
209 for (JsonElement jgroup : jgroups) { | 210 for (JsonElement jgroup : jgroups) { |
210 groups.add(jgroup.getAsString()); | 211 groups.add(jgroup.getAsString()); |
211 } | 212 } |
212 user.groups = groups; | 213 user.groups = groups; |
213 } | 214 } |
215 logger.fine("auth OK! user=" + user); | |
216 return user; | |
214 } catch (Exception e) { | 217 } catch (Exception e) { |
215 logger.warning("Error checking auth token: "+e.toString()); | 218 logger.warning("Error checking auth token: "+e.toString()); |
216 return null; | 219 } |
217 } | 220 return null; |
218 // must be ok then | |
219 logger.fine("auth OK! user=" + user); | |
220 return user; | |
221 } | 221 } |
222 | 222 |
223 /** | 223 /** |
224 * creates Annotator-JSON from an Annotation object. | 224 * creates Annotator-JSON from an Annotation object. |
225 * | 225 * |