Мне нужно вернуть правильное перенаправление согласно спецификации openID Standart , но я никогда не работал с перенаправлениями, поэтому я не уверен, правильно ли я это делаю:
Первый способсогласно Baeldung :
@GetMapping("/redirectWithRedirectView")
public RedirectView redirectWithUsingRedirectView(RedirectAttributes attributes, @RequestParam String response_type, @RequestParam String client_id,
@RequestParam String redirect_uri, @RequestParam String scope, @RequestParam String state,
@RequestParam String nonce) {
attributes.addFlashAttribute("flashAttribute", "redirectWithRedirectView");
attributes.addAttribute("attribute", "redirectWithRedirectView");
//do something
String code = "SplxlOBeZQQYbYS6WxSbIA"; //in real case it is generated.
return new RedirectView(String.format("%s?%s&%s", redirect_uri, code, state));
, но вызов здесь возвращает
несоответствие типов аргументов \ nController [em_is_resource.EmIntegrationController] \ nMethod [public org.springframework.web.servlet.view.RedirectView em_is_resource.EmIntegrationController.redirectWithUsingRedirectView (org.springframework.web.servlet.mvc.support.RedirectAttributes)] со значениями аргументов: \ п [0] [тип = org.springframework.validation.support.BindingAwareConcurrentModel] [значение ={}]
и второй подход -
@GetMapping("/redir")
public Mono<String> redir(@RequestParam String response_type, @RequestParam String client_id,
@RequestParam String redirect_uri, @RequestParam String scope, @RequestParam String state,
@RequestParam String nonce) {
String code = "SplxlOBeZQQYbYS6WxSbIA";
return Mono.just(String.format("redirect:%s?code=%s&state=%s", redirect_uri, code, state));
}
, но в соответствии с запросом Почтальона он возвращает просто «перенаправление: https://server.example.com:8020/oidcclient/redirect/client01?code=SplxlOBeZQQYbYS6WxSbIA&state=af0ifjsldkj"
Это правильно или я что-то делаюне так?