use of io.jans.as.model.config.WebKeysConfiguration in project jans by JanssenProject.
the class JwksResource method deleteKey.
@DELETE
@ProtectedApi(scopes = { ApiAccessConstants.JWKS_WRITE_ACCESS })
@Path(ApiConstants.KID_PATH)
public Response deleteKey(@PathParam(ApiConstants.KID) @NotNull String kid) {
log.debug("Key to be to be deleted - kid = " + kid);
final Conf conf = configurationService.findConf();
WebKeysConfiguration webkeys = configurationService.findConf().getWebKeys();
JSONWebKey jwk = getJSONWebKey(webkeys, kid);
if (jwk == null) {
throw new NotFoundException(getNotFoundError("JWK with kid - '" + kid + "' does not exist!"));
}
conf.getWebKeys().getKeys().removeIf(x -> x.getKid() != null && x.getKid().equals(kid));
configurationService.merge(conf);
return Response.noContent().build();
}
use of io.jans.as.model.config.WebKeysConfiguration in project jans by JanssenProject.
the class JwksResource method getKeyById.
@GET
@ProtectedApi(scopes = { ApiAccessConstants.JWKS_READ_ACCESS })
@Path(ApiConstants.KID_PATH)
public Response getKeyById(@PathParam(ApiConstants.KID) @NotNull String kid) {
log.debug("Fetch JWK details by kid = " + kid);
WebKeysConfiguration webkeys = configurationService.findConf().getWebKeys();
log.debug("WebKeysConfiguration before addding new key =" + webkeys);
JSONWebKey jwk = getJSONWebKey(webkeys, kid);
return Response.ok(jwk).build();
}
use of io.jans.as.model.config.WebKeysConfiguration in project jans by JanssenProject.
the class JwkRestWebServiceImpl method requestJwk.
@Override
public Response requestJwk(SecurityContext sec) {
log.debug("Attempting to request JWK, Is Secure = {}", sec.isSecure());
Response.ResponseBuilder builder = Response.ok();
try {
WebKeysConfiguration webKeysConfiguration = new WebKeysConfiguration();
webKeysConfiguration.setKeys(this.filterKeys(this.webKeysConfiguration.getKeys()));
builder.entity(webKeysConfiguration.toString());
} catch (Exception e) {
log.error(e.getMessage(), e);
// 500
builder = Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode());
}
return builder.build();
}
use of io.jans.as.model.config.WebKeysConfiguration in project jans by JanssenProject.
the class ConfigurationFactory method initWebKeys.
private void initWebKeys(Conf conf) {
final String jwksUri = conf.getDynamic().getJwksUri();
if (jwksUri.startsWith(conf.getDynamic().getIssuer())) {
if (conf.getWebKeys() != null) {
jwks = conf.getWebKeys();
} else {
generateWebKeys();
}
return;
}
// external jwks
final JSONObject keys = JwtUtil.getJSONWebKeys(jwksUri);
log.trace("Downloaded external keys from {}, keys: {}", jwksUri, keys);
final JSONWebKeySet keySet = JSONWebKeySet.fromJSONObject(keys);
jwks = new WebKeysConfiguration();
jwks.setKeys(keySet.getKeys());
}
use of io.jans.as.model.config.WebKeysConfiguration in project jans by JanssenProject.
the class ConfigurationTest method createLatestTestConfInLdapFromFiles.
/*
* Useful test method to get create newest test configuration. It shouldn't
* be used directly for testing.
*/
// @Test
public void createLatestTestConfInLdapFromFiles() throws Exception {
final String prefix = "U:\\own\\project\\jans-auth\\server\\src\\test\\resources\\conf";
final String errorsFile = prefix + "\\oxauth-errors.json";
final String staticFile = prefix + "\\oxauth-static-conf.json";
final String webKeysFile = prefix + "\\oxauth-web-keys.json";
final String configFile = prefix + "\\oxauth-config.xml";
final String errorsJson = IOUtils.toString(new FileInputStream(errorsFile));
final String staticConfJson = IOUtils.toString(new FileInputStream(staticFile));
final String webKeysJson = IOUtils.toString(new FileInputStream(webKeysFile));
final StaticConfiguration staticConf = ServerUtil.createJsonMapper().readValue(staticConfJson, StaticConfiguration.class);
final ErrorMessages errorConf = ServerUtil.createJsonMapper().readValue(errorsJson, ErrorMessages.class);
final WebKeysConfiguration webKeys = ServerUtil.createJsonMapper().readValue(webKeysJson, WebKeysConfiguration.class);
final AppConfiguration configJson = loadConfFromFile(configFile);
final Conf c = new Conf();
c.setDn("ou=testconfiguration,o=jans");
c.setDynamic(configJson);
c.setErrors(errorConf);
c.setStatics(staticConf);
c.setWebKeys(webKeys);
ldapEntryManager.persist(c);
}
Aggregations