use of org.springframework.http.server.ServletServerHttpRequest in project CzechIdMng by bcvsolutions.
the class ModuleController method patch.
/**
* Supports enable / disable only
*
* @param moduleId
* @param nativeRequest
* @return
*/
@ResponseBody
@RequestMapping(value = "/{moduleId}", method = RequestMethod.PATCH)
@PreAuthorize("hasAuthority('" + CoreGroupPermission.MODULE_UPDATE + "')")
@ApiOperation(value = "Update module properties", nickname = "patchModule", tags = { ModuleController.TAG }, authorizations = { @Authorization(value = SwaggerConfig.AUTHENTICATION_BASIC, scopes = { @AuthorizationScope(scope = CoreGroupPermission.MODULE_UPDATE, description = "") }), @Authorization(value = SwaggerConfig.AUTHENTICATION_CIDMST, scopes = { @AuthorizationScope(scope = CoreGroupPermission.MODULE_UPDATE, description = "") }) }, notes = "Supports enable / disable only")
public ModuleDescriptorDto patch(@ApiParam(value = "Module's identifier.", required = true) @PathVariable @NotNull String moduleId, HttpServletRequest nativeRequest) {
ModuleDescriptor updatedModuleDescriptor = moduleService.getModule(moduleId);
if (updatedModuleDescriptor == null) {
throw new ResultCodeException(CoreResultCode.NOT_FOUND, ImmutableMap.of("entity", moduleId));
}
//
ServletServerHttpRequest request = new ServletServerHttpRequest(nativeRequest);
try {
ModuleDescriptorDto dto = objectMapper.readValue(request.getBody(), ModuleDescriptorDto.class);
moduleService.setEnabled(moduleId, !dto.isDisabled());
} catch (IOException ex) {
throw new ResultCodeException(CoreResultCode.BAD_REQUEST, ex);
}
//
return get(moduleId);
}
use of org.springframework.http.server.ServletServerHttpRequest in project powerauth-restful-integration by lime-company.
the class EncryptionResponseBodyAdvice method beforeBodyWrite.
/**
* Encrypt response before writing body.
*
* @param response Response object.
* @param methodParameter Method parameter.
* @param mediaType Selected HTTP response media type.
* @param converterClass Selected HTTP message converter class.
* @param serverHttpRequest HTTP request.
* @param serverHttpResponse HTTP response.
* @return ECIES cryptogram.
*/
@Override
public Object beforeBodyWrite(Object response, @NonNull MethodParameter methodParameter, @NonNull MediaType mediaType, @NonNull Class<? extends HttpMessageConverter<?>> converterClass, @NonNull ServerHttpRequest serverHttpRequest, @NonNull ServerHttpResponse serverHttpResponse) {
if (response == null) {
return null;
}
// Extract ECIES encryption object from HTTP request
final HttpServletRequest httpServletRequest = ((ServletServerHttpRequest) serverHttpRequest).getServletRequest();
final PowerAuthEciesEncryption eciesEncryption = (PowerAuthEciesEncryption) httpServletRequest.getAttribute(PowerAuthRequestObjects.ENCRYPTION_OBJECT);
if (eciesEncryption == null) {
return null;
}
// Convert response to JSON
try {
byte[] responseBytes = serializeResponseObject(response);
// Encrypt response using decryptor and return ECIES cryptogram
final EciesDecryptor eciesDecryptor = eciesEncryption.getEciesDecryptor();
final EciesCryptogram cryptogram = eciesDecryptor.encryptResponse(responseBytes);
final String encryptedDataBase64 = BaseEncoding.base64().encode(cryptogram.getEncryptedData());
final String macBase64 = BaseEncoding.base64().encode(cryptogram.getMac());
// Return encrypted response with type given by converter class
final EciesEncryptedResponse encryptedResponse = new EciesEncryptedResponse(encryptedDataBase64, macBase64);
if (converterClass.isAssignableFrom(MappingJackson2HttpMessageConverter.class)) {
// Object conversion is done automatically using MappingJackson2HttpMessageConverter
return encryptedResponse;
} else if (converterClass.isAssignableFrom(StringHttpMessageConverter.class)) {
// Conversion to byte[] is done using first applicable configured HTTP message converter, corresponding String is returned
return new String(convertEncryptedResponse(encryptedResponse, mediaType), StandardCharsets.UTF_8);
} else {
// Conversion to byte[] is done using first applicable configured HTTP message converter
return convertEncryptedResponse(encryptedResponse, mediaType);
}
} catch (Exception ex) {
logger.warn("Encryption failed, error: {}", ex.getMessage());
logger.debug("Error details", ex);
return null;
}
}
use of org.springframework.http.server.ServletServerHttpRequest in project pmph by BCSquad.
the class HandshakeInterceptor method beforeHandshake.
// 握手前
@Override
public boolean beforeHandshake(ServerHttpRequest serverHttpRequest, ServerHttpResponse serverHttpResponse, WebSocketHandler webSocketHandler, Map<String, Object> map) throws Exception {
if (serverHttpRequest instanceof ServletServerHttpRequest) {
ServletServerHttpRequest servletRequest = (ServletServerHttpRequest) serverHttpRequest;
String userType = servletRequest.getServletRequest().getParameter("userType");
String sessionId = servletRequest.getServletRequest().getParameter("sessionId");
if (null == userType || "".equals(userType)) {
return false;
}
String userId = null;
// userType 1=社内用户/2=作家/3=机构用户
if ("1".equals(userType)) {
PmphUser pmphUser = SessionUtil.getPmphUserBySessionId(sessionId);
if (null == pmphUser) {
return false;
}
Long pmphUserId = pmphUser.getId();
if (null == pmphUserId) {
return false;
}
userId = userType + "_" + pmphUserId;
} else if ("2".equals(userType)) {
String fonrtUserId = servletRequest.getServletRequest().getParameter("userId");
if (null == fonrtUserId || "".equals(fonrtUserId.trim())) {
return false;
}
userId = userType + "_" + fonrtUserId;
// 验证前台是否登录过了
if (!MyWebSocketHandler.isLogin(userId)) {
return false;
}
} else if ("3".equals(userType)) {
} else {
return false;
}
if (null == userId) {
return false;
}
// 为服务器创建WebSocketSession做准备
map.put("userId", userId);
return true;
}
return false;
}
use of org.springframework.http.server.ServletServerHttpRequest in project flytecnologia-api by jullierme.
the class FlyRefreshTokenPostProcessor method beforeBodyWrite.
@Override
public OAuth2AccessToken beforeBodyWrite(OAuth2AccessToken body, MethodParameter returnType, MediaType selectedContentType, Class<? extends HttpMessageConverter<?>> selectedConverterType, ServerHttpRequest request, ServerHttpResponse response) {
HttpServletRequest req = ((ServletServerHttpRequest) request).getServletRequest();
HttpServletResponse resp = ((ServletServerHttpResponse) response).getServletResponse();
DefaultOAuth2AccessToken token = (DefaultOAuth2AccessToken) body;
String refreshToken = body.getRefreshToken().getValue();
addRefreshTokenInCookie(refreshToken, req, resp);
deleteRefreshTokenFromBody(token);
return body;
}
use of org.springframework.http.server.ServletServerHttpRequest in project service-authorization by reportportal.
the class OAuthSuccessHandler method handle.
@Override
protected void handle(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException {
OAuth2Authentication oauth = (OAuth2Authentication) authentication;
OAuth2AccessToken accessToken = tokenServicesFacade.get().createToken(ReportPortalClient.ui, oauth.getName(), oauth.getUserAuthentication(), oauth.getOAuth2Request().getExtensions());
MultiValueMap<String, String> query = new LinkedMultiValueMap<>();
query.add("token", accessToken.getValue());
query.add("token_type", accessToken.getTokenType());
URI rqUrl = UriComponentsBuilder.fromHttpRequest(new ServletServerHttpRequest(request)).replacePath("/ui/authSuccess.html").replaceQueryParams(query).build().toUri();
eventPublisher.publishEvent(new UiUserSignedInEvent(authentication));
getRedirectStrategy().sendRedirect(request, response, rqUrl.toString());
}
Aggregations