fixed view for idtoken in checkid endpoint

pull/59/head
Justin Richer 2012-03-22 14:09:25 -04:00
parent c51bb72fe5
commit 5fe036878a
2 changed files with 23 additions and 2 deletions

View File

@ -1,11 +1,15 @@
package org.mitre.openid.connect.view;
import java.io.Writer;
import java.lang.reflect.Type;
import java.security.PublicKey;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.mitre.jwt.model.ClaimSet;
import org.mitre.openid.connect.model.IdToken;
import org.springframework.validation.BeanPropertyBindingResult;
import org.springframework.web.servlet.view.AbstractView;
@ -13,6 +17,11 @@ import com.google.gson.ExclusionStrategy;
import com.google.gson.FieldAttributes;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonElement;
import com.google.gson.JsonNull;
import com.google.gson.JsonObject;
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;
public class JSONIdTokenView extends AbstractView {
@ -39,7 +48,18 @@ public class JSONIdTokenView extends AbstractView {
return false;
}
}).create();
})
.registerTypeHierarchyAdapter(ClaimSet.class, new JsonSerializer<ClaimSet>() {
@Override
public JsonElement serialize(ClaimSet src, Type typeOfSrc, JsonSerializationContext context) {
if (src != null) {
return src.getAsJsonObject();
} else {
return JsonNull.INSTANCE;
}
}
})
.create();
response.setContentType("application/json");

View File

@ -46,7 +46,8 @@ public class CheckIDEndpoint {
throw new InvalidJwtIssuerException(); // TODO: create a view for this exception
}
return new ModelAndView("jsonIdTokenView", "checkId", token); // TODO: create a view for this
// pass the claims directly (the view doesn't care about other fields)
return new ModelAndView("jsonIdTokenView", "entity", token.getClaims());
}
public JwtSigningAndValidationService getJwtSignerService() {