본문 바로가기
C.W.K.
Stream
Lesson 03 of 04 · published

갱신은 하되, 평행 로그인은 안 해

~12 min · auth, oauth, doctrine

Level 0차가운 막대
0 XP0/41 lessons0/14 achievements
0/100 XP to next level100 XP to go0% complete

이 엔진이 안 하는 동작

모든 브레인을 쓰고 싶은 코딩 엔진은 로그인 앱이 되고 싶어해. 디바이스 코드, 리다이렉트, 자기 클라이언트 아이디, 가족 이름이 적힌 동의 화면. 그 길은 서 있는 거절이야. Firebrand는 평행 인가를 안 돌려. 벤더 클라이언트를 사칭하지 않아. 저장소에서 자격 증명을 복사해 다른 척하지 않아.

해도 되는 건 운영자가 벤더 자기 로그인으로 이미 연 세션을 이어가는 거야. 레그 아래 OAuth 동작은 갱신 토큰 부여뿐이고, 아이디는 벤더 자기 토큰이 이미 부르는 그거야. 되쓰기는 원자적이고, 모르는 필드는 남기고, 재사용되거나 회전된 갱신은 한 번 다시 읽고 한 번 재시도한 다음 '가서 그들 로그인 다시 해'로 표면에 올려. 갱신 토큰을 회전하는 벤더 앞에서, 갱신 도중 운송 실패를 눈감고 다시 치지 않아.

키는 보기보다 좁아

어떤 브레인은 문서화된 서드파티 API 키가 있어. 그 레그는 그 키와 정직한 클라이언트 식별자만 써. 자격 증명에 가짜 사용자 에이전트를 얹는 길은 같은 거절이 옷만 갈아입은 거야. 키는 레그가 이름을 부를 때만, 환경 다음에 운영자 비밀 파일에서 늦게 풀어. 레그 인스턴스에 남아. 자식 환경으로 안 나가. doctor는 출처를 이름만 찍고 값은 안 찍어.

그들 세션을 이어. 그들 클라이언트가 되지 마. 운영자가 벤더 자기 도구로 로그인하지 않았으면, Firebrand는 그 사실을 우회할 길을 만들지 않아.

사용량은 좁게 한 번 읽어

구독 브레인 둘은 볼 만한 한도가 있어. 하나는 그 벤더 자기 로컬 앱 서버에 물어. 자격 증명을 안 읽어. 다른 하나는 선언된 수정이야. 운영자가 이미 가진 토큰으로 사용량 엔드포인트를 읽기만 해. 쓰기 없음, 갱신 없음, 추론 비용 없음, 정직한 사용자 에이전트. 유료 추론 API는 금지된 채로 남아. 낡은 토큰은 고치지 않고 알려.

Code

레그 폴더가 키우면 안 되는 인증 어휘·text
FORBIDDEN under legs/
  /authorize
  /deviceauth
  code_verifier
  redirect_uri
  a literal client_id value

ALLOWED
  refresh-token grant
  under the id the vendor CLI's own token already names

External links

Exercise

벤더 API와 얘기하는 헬퍼를 하나 열어. 클라이언트 아이디, 사용자 에이전트, 갱신 쓰기를 찾아. 아이디를 네가 만들었거나 제품 이름을 빌렸으면, 그 헬퍼를 거절했을 문장을 써.
Hint
시험은 '그들 로그인 페이지가 이걸 자기 클라이언트로 알아볼까?'야. 그런데 네가 그들이 아니면 멈춰.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.