TreeNut-KR / ChatBot

ChatBot 웹사이트 프로젝트
GNU General Public License v3.0
1 stars 0 forks source link

SpringBoot MiddleWare 명세 #19

Open CutTheWire opened 2 months ago

CutTheWire commented 2 months ago

미들웨어 디렉토리 경로

ChatBot_Docker/springboot/src/main/java/com/TreeNut/ChatBot_Backend/middleware

TokenAuth.kt → AuthGuard(token)

사용자 토큰을 매개변수를 받아오고 해당 유저의 idx를 받아옴

사용예시

package com.TreeNut.ChatBot_Backend.controller

import com.TreeNut.ChatBot_Backend.middleware.TokenAuth
import org.springframework.web.bind.annotation.*

@RestController
@RequestMapping("/api")
class AuthController(private val tokenAuth: TokenAuth) {

    @GetMapping("/protected")
    fun protectedEndpoint(@RequestHeader("Authorization") token: String): String {
        val userId: Long? = tokenAuth.authGuard(token)

        return if (userId != null) {
            "사용자 ID: $userId에 대한 보호된 리소스에 접근했습니다."
        } else {
            throw RuntimeException("인증 실패: 유효하지 않은 토큰입니다.")
        }
    }
}