fixed view for idtoken in checkid endpoint
parent
c51bb72fe5
commit
5fe036878a
|
@ -1,11 +1,15 @@
|
||||||
package org.mitre.openid.connect.view;
|
package org.mitre.openid.connect.view;
|
||||||
|
|
||||||
import java.io.Writer;
|
import java.io.Writer;
|
||||||
|
import java.lang.reflect.Type;
|
||||||
|
import java.security.PublicKey;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
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.validation.BeanPropertyBindingResult;
|
||||||
import org.springframework.web.servlet.view.AbstractView;
|
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.FieldAttributes;
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.GsonBuilder;
|
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 {
|
public class JSONIdTokenView extends AbstractView {
|
||||||
|
|
||||||
|
@ -39,7 +48,18 @@ public class JSONIdTokenView extends AbstractView {
|
||||||
return false;
|
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");
|
response.setContentType("application/json");
|
||||||
|
|
||||||
|
|
|
@ -46,7 +46,8 @@ public class CheckIDEndpoint {
|
||||||
throw new InvalidJwtIssuerException(); // TODO: create a view for this exception
|
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() {
|
public JwtSigningAndValidationService getJwtSignerService() {
|
||||||
|
|
Loading…
Reference in New Issue