Class OIDCAuthenticationResource


  • @RestController
    @RequestMapping("/oidc")
    public class OIDCAuthenticationResource
    extends Object
    REST controller for managing the current user login using KeyCloak.
    • Constructor Detail

      • OIDCAuthenticationResource

        public OIDCAuthenticationResource​(TokenProvider tokenProvider,
                                          @Value("${ca3s.oidc.auth-server-url:}")
                                          String keycloakAuthorizationUri,
                                          @Value("${ca3s.oidc.realm:@null}")
                                          String realm,
                                          @Value("${ca3s.oidc.client-id:#{null}}")
                                          String clientId,
                                          @Value("${ca3s.oidc.flow-type:code}")
                                          String flowType,
                                          @Value("${ca3s.oidc.use-post-logout-redirect-uri:true}")
                                          boolean usePostLogoutRedirectUri,
                                          OIDCRestService OIDCRestService)
    • Method Detail

      • getAuthenticatedUser

        @CrossOrigin
        @GetMapping("/authenticate")
        public org.springframework.http.ResponseEntity<String> getAuthenticatedUser​(javax.servlet.http.HttpServletRequest request,
                                                                                    @RequestParam
                                                                                    Map<String,​String> allParams)
        GET /authenticate : check if the user is authenticated, and return its login.
        Parameters:
        request - the HTTP request.
        Returns:
        the login if the user is authenticated.
      • getCode

        @GetMapping({"/code","/code/"})
        public org.springframework.http.ResponseEntity<String> getCode​(javax.servlet.http.HttpServletRequest request,
                                                                       @RequestParam
                                                                       Map<String,​String> allParams)
      • getToken

        @GetMapping("/tokenImplicit")
        public org.springframework.http.ResponseEntity<String> getToken​(javax.servlet.http.HttpServletRequest request,
                                                                        @RequestParam(required=false,name="access_token")
                                                                        String access_token)
      • logout

        @CrossOrigin
        @PostMapping("/logout")
        public org.springframework.http.ResponseEntity logout​(javax.servlet.http.HttpServletRequest request)