/* * oxAuth is available under the MIT License (2008). See http://opensource.org/licenses/MIT for full text. * * Copyright (c) 2014, Gluu */ package org.xdi.oxauth.jwk.ws.rs; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.SecurityContext; import com.wordnik.swagger.annotations.Api; /** * <p> * Provides interface for JWK REST web services * </p> * <p> * A JSON Web Key (JWK) is a JSON data structure that represents a set of public keys as a JSON object [RFC4627]. * The JWK format is used to represent bare keys. JSON Web Keys are referenced in JSON Web Signatures (JWSs) * using the jku (JSON Key URL) header parameter. * </p> * <p> * It is sometimes useful to be able to reference public key representations, for instance, in order to verify the * signature on content signed with the corresponding private key. The JSON Web Key (JWK) data structure provides a * convenient JSON representation for sets of public keys utilizing either the Elliptic Curve or RSA families of * algorithms. * </p> * * @author Javier Rojas Blum Date: 11.15.2011 */ @Api(value = "/oxauth", description = "JWK Endpoint provides list of JWK used by server. A JSON Web Key (JWK) is a JSON data structure that represents a set of public keys as a JSON object [RFC4627].") public interface JwkRestWebService { /** * The JWK endpoint. * * @param securityContext An injectable interface that provides access to security * related information. * @return The JSON Web Key data structure JWK. A JWK consists of a JWK Container Object, which is a JSON object * that contains an array of JWK Key Objects as a member. */ @GET @Path("/jwks") @Produces({MediaType.APPLICATION_JSON}) Response requestJwk(@Context SecurityContext securityContext); }