Revision 59615
Added by Katerina Iatropoulou over 3 years ago
RegisteredServicesServlet.java | ||
---|---|---|
1 | 1 |
package eu.dnetlib.openaire.usermanagement; |
2 | 2 |
|
3 |
import com.google.gson.Gson; |
|
4 |
import com.google.gson.GsonBuilder; |
|
3 | 5 |
import eu.dnetlib.openaire.user.pojos.RegisteredService; |
4 | 6 |
import eu.dnetlib.openaire.usermanagement.utils.RegisteredServicesUtils; |
5 | 7 |
import eu.dnetlib.openaire.usermanagement.utils.TokenUtils; |
... | ... | |
51 | 53 |
try { |
52 | 54 |
registeredServices = registeredServicesUtils. |
53 | 55 |
getRegisteredServiceDao().fetchAllRegisteredServicesByOwner(userId); |
56 |
System.out.println("LOAD REGISTERED SERVICES. " + registeredServices); |
|
54 | 57 |
|
55 | 58 |
|
56 | 59 |
} catch (SQLException sqle) { |
... | ... | |
62 | 65 |
} |
63 | 66 |
|
64 | 67 |
Map<String, ServiceResponse> serviceResponses = new HashMap<>(); |
68 |
Map<String, String> serviceKey = new HashMap<>(); |
|
69 |
|
|
65 | 70 |
for (RegisteredService registeredService:registeredServices) { |
66 |
serviceResponses.put(registeredService.getId(), |
|
67 |
TokenUtils.getRegisteredService(registeredService.getAai_id(),authentication.getAccessTokenValue())); |
|
71 |
ServiceResponse serviceResponse = TokenUtils.getRegisteredService(registeredService.getAai_id(),authentication.getAccessTokenValue()); |
|
72 |
serviceResponses.put(registeredService.getId(), serviceResponse); |
|
73 |
serviceKey.put(registeredService.getId(), extractPublicKeySet(serviceResponse)); |
|
68 | 74 |
} |
69 | 75 |
|
70 | 76 |
boolean reachedLimit = reachedMaximumNumberOfServices(registeredServices); |
71 | 77 |
request.getSession().setAttribute("reachedLimit", reachedLimit); |
72 | 78 |
request.getSession().setAttribute("test", "TEST"); |
79 |
System.out.println("REACHED LIMIT??? " + reachedLimit); |
|
73 | 80 |
|
81 |
|
|
74 | 82 |
request.getSession().setAttribute("services", serviceResponses); |
83 |
request.getSession().setAttribute("keys", serviceKey); |
|
75 | 84 |
request.getSession().setAttribute("registeredServices", registeredServices); |
76 | 85 |
response.setContentType("text/html"); |
77 | 86 |
request.getRequestDispatcher("./registeredServices.jsp").include(request, response); |
78 | 87 |
} |
79 | 88 |
|
89 |
private String extractPublicKeySet(ServiceResponse serviceResponse) { |
|
90 |
if (serviceResponse.getJwksUri()!=null && !serviceResponse.getJwksUri().isEmpty()) |
|
91 |
return serviceResponse.getJwksUri(); |
|
92 |
|
|
93 |
return extractJSONJwk(serviceResponse.getJwks()); |
|
94 |
} |
|
95 |
|
|
96 |
private String extractJSONJwk(Jwks jwks) { |
|
97 |
Gson gson = new GsonBuilder().setPrettyPrinting().create(); |
|
98 |
System.out.println(gson.toJson(jwks)); |
|
99 |
return gson.toJson(jwks); |
|
100 |
} |
|
101 |
|
|
80 | 102 |
@Override |
81 | 103 |
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { |
82 | 104 |
OIDCAuthenticationToken authentication = (OIDCAuthenticationToken) SecurityContextHolder. |
Also available in: Unified diff
service registration with keys enabled