HTTP 303 (リダイレクト) 応答にいくつかのカスタム ヘッダー パラメーターを追加しようとしています。ただし、新しいヘッダーは応答から取り除かれているようです。
このコードは、リクエストを受信し、HTTP 303 レスポンスを返すことを目的としています。
@POST
@Path("/authorize")
@Produces("application/x-www-form-urlencoded")
public Response getOAuthGrant(@HeaderParam(OAuth2.AUTHORIZATION) @DefaultValue("") String authorization,
@HeaderParam(OAuth2.CLIENT_ID) @DefaultValue("") String clientId,
@HeaderParam(OAuth2.CLIENT_SECRET) @DefaultValue("") String clientSecret,
@HeaderParam(OAuth2.GRANT_TYPE) @DefaultValue("") String grantType) throws InternalServerException, UnauthorizedException {
OAuth2.validateGrantRequest(clientId, clientSecret, authorization, grantType);
ApiTokenV2 apiTokenV2 = new ApiTokenV2();
try {
apiTokenV2 = TokenManager.getApiToken(clientId);
if (apiTokenV2 != null) {
apiTokenV2.generateAccessGrant(clientId);
} else {
logger.error("Error in TokenEndpoint. Retrieved token is null.");
throw new InternalServerException("A server error occurred while trying to authorize the requester. Could not find 'generateAccessGrant' method");
}
} catch (NamingException e) {
throw new InternalServerException("A server error occurred while trying to authorize grant request. Could not find 'generateAccessGrant' method.", e);
}
return Response.status(Response.Status.SEE_OTHER)
.type(MediaType.APPLICATION_FORM_URLENCODED_TYPE)
.header("Location", "/api/token")
.header("Authorization", "OAuth")
.header("Access-Grant", apiTokenV2.getAccessGrant())
.build();
}
ここで何が間違っていますか?@Context
代わりに使用する必要がありますか?