inflearn logo
강의

Course

Instructor

Building an Unreal Agent from Scratch (Liu)

AuthorizeUri 관련 코드 질문드립니다.

Resolved

64

pizzamon231559

1 asked

0

안녕하세요.

AuthorizeUri 변수 만드는 코드 보면 state에 Verifier를 넣어주고 있습니다. PKCE 설명에는 열쇠가 노출되면 안 된다고 했던 것 같은데, 혹시 이렇게 Verifier를 넣으면 열쇠가 노출되는 것 아닌지 문의드립니다.

감사합니다.

C# unreal-engine web-api 인공지능(ai) ai-agent

Answer 2

1

Liu

되게 예리한 지적이십니다.
사실 PKCE의 원칙대로라면 verifier는 sessionStorage 같은 클라이언트 로컬 저장소에 보관하고, state에는 CSRF 방지용 랜덤 값만 넣어야 합니다.
state는 리다이렉트 URL에 그대로 노출되기 때문에, 여기에 verifier를 넣으면 열쇠가 밖으로 드러나는 셈이거든요.

다만 그렇게 하면 sessionStorage 저장/조회 로직이 추가로 필요해서 코드가 정말로 복잡해지기 때문에, 강의에서는 흐름을 이해하시기 쉽도록 간단하게 state에 담는 방식으로 구현했습니다.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 피자몬님.

Code Verifier와 PKCE(Proof Key for Code Exchange)는 OAuth 2.0의 보안을 강화하기 위해 도입된 메커니즘입니다. 이를 통해 클라이언트가 인증 코드를 교환할 때 사용한 인증 정보가 노출되지 않도록 합니다.

우려하시는 대로 Verifier가 노출되는 경우를 방지하기 위해, 일반적으로 Verifier를 직접적으로 URI에 포함시키지 않고, Code Challenge를 생성해 사용합니다. Code Challenge는 Verifier의 해시 값을 사용하여 생성되며, 서버와의 상호작용 중에 안전하게 보호됩니다. 따라서, 교환하는 과정에서 Verifier가 직접적으로 노출되지 않도록 설계되었습니다.

자세한 보안 설정과 구현에 대해서는 이곳의 튜토리얼에서 추가적인 자료를 참고하실 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

바이브코딩을 하는 개발자(작업복잡도 판단의 어려움)

0

6

1

커서에서 클로드 코드 실행했는데 쉬프트 +엔터가 안먹히는데요.

0

8

1

claw code 에 대해서는 어떻게 생각하시나요?!

0

17

1

비개발자용 리서치나 논문검색 프로젝트 요청

0

11

1

커밋 명령에 대한 플랜모드 미적용

0

17

2

prd.md 관련

0

18

3

섹션2-11 내용중 tool_call

0

15

1

하네스 강의 관련

0

29

2

시니어 리뷰 모드

0

20

1

갑자기 크루드가 실행이 안됩니다.

0

27

2

크루드가 실행이 안되요..

0

26

2

줄바꿈 셋팅에 관해서

0

31

2

커서설치후 터미널에서 claude 입력했는데 인식되지않아요

0

26

1

110강 까지 진행했습니다.

0

34

2

제공해준 자료가 압축해제되지 않습니다.

0

24

2

max token을 제한하는게 왜 성능을 개선하게 되는걸까요?

0

22

2

Rider대신 VS를 써도 괜찮나요?

0

102

2

Claude Code Pro구독하고 있는 상태에서 크레딧 결제, 사용문의

0

158

2

토큰 사용량 및 인증 관련해서 질문드립니다.

0

120

2

OAuth 방식 문의

0

98

2

C#을 사용하는 장점이 무엇인지 궁금합니다.

0

95

1

인증 코드 복사 넣기시 오류

0

64

1

안녕하세요 언리얼엔진 버전 관련 질문합니다.

0

117

1

CEF관련 질문

1

80

1