CORS(교차 출처 리소스 공유) | 토스페이먼츠 개발자센터
참고글
Cross-Origin Resource Sharing, 교차 출처 리소스 공유
출처 = Origin
Origin = Protocol + Hostname + Port
출처가 다른 서버 간의 리소스 공유
예전 : 프론트와 백 구분 x, 모든 처리를 같은 도메인 안에서
현재 : 클라이언트에서 API를 직접 호출
서버에서 Access-Control-Allow-Origin
응답 헤더 세팅
→ 요청을 수락할 출처를 명시적으로 지정함
'Access-Control-Allow-Origin': <origin> | *
-> 보안에 취약함
'Access-Control-Allow-Origin': <https://myshop.com>
-> 권장 방식
파이보 프로젝트 실습에선 아래와 같이 수정함
from fastapi import FastAPI
from starlette.middleware.cors import CORSMiddleware
app = FastAPI() #인스턴스 생성
**origins = [
"<http://localhost:5173>"
]
app.add_middleware(
CORSMiddleware,
allow_origins = origins,
allow_credentials = True,
allow_methods=["*"],
allow_headers=["*"],
)**
@app.get("/hello")
async def welcome() -> dict:
return{
"message" : "안녕하세요 파이보"
}