이수아

[개별 스크럼]09. 27(수)JWT토큰 인증과 권한 설정

모잉프로젝트 2023. 10. 3. 02:40

SecurityConfig.java에서 코드를 이런식으로 구현했다. 가입, 로그인, 이메일 인증은 모두 접근할 수 있게하고 quetion, Commnet엔드 단은 로그인한 유저나 관리자 계정만 접근할 수 있게 했다.

@Override
protected void configure(HttpSecurity http) throws Exception {
    http
            .httpBasic().disable()
            .csrf().disable()
            .sessionManagement()
            .sessionCreationPolicy(SessionCreationPolicy.STATELESS)
            .and()
            .authorizeRequests()
            .antMatchers("/swagger-ui/**", "/user/sign-in", "/user/sign-up", "/sign-api/exception", "/emailConfirm", "/**").permitAll()
            .antMatchers("/question/**", "/Comment/**").hasAnyRole("USER", "ADMIN") // "/question" 및 "/Comment" 엔드포인트에 대한 접근 권한 설정
            .anyRequest().authenticated()

근데..............

자꾸 401에러가난다!!!!!!!!!

지피티도 정확한 답을 내주지를 않네요............

 

그래서 JWT에 대한 공부를 해보았습니다! 

 

https://brunch.co.kr/@jinyoungchoi95/1

 

JWT(Json Web Token) 알아가기

jwt가 생겨난 이유부터 jwt의 실제 구조까지 | 사실 꾸준히 작성하고 싶었던 글이지만 JWT를 제대로 개념을 정리하고 구현을 진행해본 적이 없었는데 리얼월드 프로젝트를 진행하면서 JWT에 대한

brunch.co.kr

참고자료

 

토큰은 '.'으로 분리되어서 Header, Payload, Signature 로 나눠져있습니다.