유튜브 교육자료2026-07-28

[비개발자 사고법 09강] 권한과 인증은 '자물쇠'입니다 — API 키 요금폭탄 87만 원·해싱·인증 vs 인가·토큰 한 방 정리

로그인은 예쁘게 만들었는데 — 손님 비밀번호가 창고에 '그대로' 적혀 있을 수도 있습니다

파이어베이스에 데이터베이스까지 연결했고 로그인 페이지도 그럴듯하게 떴습니다. 그런데 예쁜 게 중요한 게 아닙니다. 손님의 비밀번호가 창고에 맨얼굴 그대로 들어가 있거나, API 키 하나 잘못 두면 손님도 몇 명 없는데 카드값이 87만 원으로 찍힐 수 있어요. 이건 AI가 못 해 주는 게 아니라 "잠궈서 저장해"라고 우리가 안 시켜서 생기는 일입니다. 8강이 "저장한다"였다면 오늘 9강은 "잠궈서 저장한다" — 열쇠 두 개, 소셜 로그인, 해싱, API 키 금고, 인증과 인가, 토큰까지 코딩 한 줄 몰라도 오늘 자물쇠를 끝냅니다.

▶ 먼저 영상을 보고 오시면 아래 글이 복습이자 심화가 됩니다.

왜 비개발자가 '권한과 인증'까지 알아야 할까

여기까지 오신 분들은 화면도 만들고, 백엔드도 붙이고, 데이터베이스까지 연결하실 수 있습니다. 그런데 여기서 성격이 달라져요. 지금까지가 "잘 만들어 보자"였다면 오늘부터는 "법적으로 문제 없이 운영해 보자"입니다. 손님이 남긴 정보가 그대로 다 열려 있으면 기능 문제가 아니라 책임 문제가 되니까요.

무서운 건 이겁니다 — 비개발자는 제대로 잠겼는지를 눈으로 볼 수가 없어요. 김지백 강사에 따르면 바이브 코딩은 아무리 똑똑해져도 정확하게 시키지 않으면 추측하는 경향이 있어서, 아껴 쓰려고 낮은 모델로 돌리면 인증과 보안이 이상하게 짜이기도 합니다. 그래서 인증·보안 작업만큼은 되도록 좋은 모델을 붙이라고 권합니다.

오늘 목표는 보안 코드를 직접 짜는 게 아닙니다. AI가 "해싱해서 저장했어요", "토큰을 발급했어요"라고 할 때 알아듣고, 부족하면 콕 집어 다시 시키는 것 — 그거면 충분합니다.

🔐 8강은 "저장한다", 오늘은 "잠궈서 저장한다"

우리는 매일 집을 나설 때 문을 잠급니다. 아무나 들어와 내 물건을 가져가면 안 되니까요. 지난 시간에 만든 데이터베이스라는 정보 창고에도 똑같은 게 필요합니다. 회원 명단·주문 내역·결제 정보를 아무나 열어볼 수 있다면 그건 창고가 아니라 열린 상자예요.

그래서 오늘 딱 하나만 기억하시면 됩니다. "잠궈서 저장한다." 이 키워드만 넣어 두시면 인증과 보안은 거의 끝났다고 보셔도 됩니다.

식당 · 집웹 / 앱시리즈
손님 · 주문하는 홀사용자 · 화면(프론트엔드)05강
주방백엔드(서버)06강
주문을 들고 오가는 알바생API07강
창고 · 냉장고데이터베이스(DB)08강
자물쇠 · 경비원인증과 보안(권한)오늘 (09강)

오늘은 창고 이야기와 자물쇠 이야기가 계속 왔다 갔다 합니다. 8강 데이터베이스 편을 먼저 보고 오시면 훨씬 유기적으로 이해되실 거예요.

🗝️ 열쇠는 하나가 아니라 두 개 — 아이디와 비밀번호

웹 프로젝트에서 자물쇠를 열려면 열쇠가 두 개 필요합니다. 하나만 맞으면 안 열려요. 두 개가 다 맞아야 철컥 하고 열립니다.

첫 번째 열쇠는 아이디"너 누구야?"에 대한 답입니다. 수많은 회원 중에 "나는 이 사람이다" 하고 가리키는 거죠. 두 번째 열쇠는 비밀번호"근데 너 진짜 그 사람 맞아?"를 증명하는 겁니다. 이름은 얼마든지 사칭할 수 있으니 반드시 한 번 더 물어보는 거예요.

조심할 게 있습니다. AI에게 그냥 "로그인 페이지 만들어 줘"라고만 하면, 모델에 따라 비밀번호만 맞으면 통과시키는 로그인을 만들어 놓기도 해요. 아이디는 아무거나 쳐도 들어가지는, 열쇠 하나짜리 자물쇠가 되는 겁니다.

❌ "로그인 페이지 만들어 줘" (열쇠 하나짜리로 만들어질 수 있음)
✅ "로그인 페이지 만들 건데, 아이디랑 비밀번호가 둘 다 맞을 때만 통과시켜 줘. 하나라도 틀리면 입장 거부해."
이 한 줄이면 최소한의 인증은 걸린 상태로 프로젝트를 굴릴 수 있습니다.

🤝 소셜 로그인 — 동네 열쇠 장인에게 맡기기

요즘 우리는 아이디·비밀번호를 안 치고 들어가는 경우가 더 많죠. 노란색 버튼, 초록색 버튼 — 카카오·네이버·구글·애플로 시작하기입니다. 저는 이걸 동네에서 열쇠 잘 만드는 장인에게 맡기는 것이라고 비유합니다. 열쇠 두 개 챙기고, 보관도 신경 쓰고, 틀리면 막고… 굳이 내가 다 짤 필요가 없거든요.

카카오 버튼을 누르는 순간 벌어지는 일은 이겁니다 — "나 카카오인데, 내가 이 사람 신원 보증할 테니까 통과시켜 줘." 비밀번호를 따로 만들 필요도 없죠. 이렇게 남의 인증을 빌려 쓰는 방식이 파이어베이스 안에 인증(Authentication) 서비스로 들어 있습니다. 로그인 방법 메뉴의 제공업체에서 구글·애플·전화번호는 바로 켤 수 있고, 카카오·네이버는 한 단계 더 연동이 필요해요.

인증 방식비유언제 쓰나
이메일 · 비밀번호내가 직접 만든 열쇠개인 프로젝트·연습용. 간단하게 갈 때
소셜 로그인 (카카오·네이버·구글·애플)동네 열쇠 장인이 신원 보증내 정보 저장·즐겨찾기·이력을 남겨야 할 때
휴대폰 · 패스(PASS) 인증인감 가져와 봐, 지문 찍어 봐성인 인증·실명 확인·중복 가입 방지. 사업이 커진 뒤에

휴대폰 인증은 문자 한 통 한 통이 다 돈이라 처음부터 붙일 필요는 없습니다. 그리고 회원이 100명, 200명 넘어가면 아이디·비밀번호를 잊어버리는 사람이 반드시 생겨요. 비밀번호 재설정 메일도 파이어베이스 인증의 템플릿 메뉴에서 제목과 문구를 우리 브랜드에 맞게 고칠 수 있습니다.

이렇게 시키세요 — "파이어베이스 인증으로 구글 로그인 붙여 줘", "주소창 도메인 넣어서 구글·전화번호·애플 인증까지 붙여 줘", "비밀번호 재설정 메일 문구도 우리 브랜딩에 맞게 짜 줘". 다만 콘솔에서 스위치를 켜는 것만큼은 여러분이 직접 하셔야 합니다.

🔒 평문 vs 해싱 — 창고를 열어도 비밀번호는 안 보이게

많은 분들이 궁금해하십니다. "내 회원의 비밀번호를 사장인 내가 볼 수 있나요?" 반대로 가입한 손님은 "사장님이 내 비밀번호를 알면 어떡하지?" 싶고요. 창고에 저장되는 방식이 딱 두 가지인데, 이걸 알아야 답이 나옵니다.

첫 번째는 평문(平文) 저장입니다. 창고 문을 열었더니 회원 비밀번호가 1234라고 그대로 적혀 있는 거예요. 그럼 사장님이 그 아이디로 그냥 들어갈 수 있죠. 저는 이걸 에어비앤비 문자에 비유합니다. 집주인이 "현관 비밀번호는 ○○○○입니다"라고 정확히 알려주잖아요. 그래야 손님이 들어가지만, 그 문자 한 장이 새어 나가면 모든 객실이 다 열립니다.

두 번째가 해싱(hashing)입니다. 비밀번호를 알아볼 수 없게 뒤섞은 값으로 바꿔 저장하는 거예요. 창고를 열어도 뒤섞인 글자 뭉치만 보이고, 가져가도 거꾸로 풀지 못합니다. 그럼 로그인은 어떻게 맞춰 볼까요? 입력한 비밀번호도 똑같이 뒤섞어서 저장된 값과 같은지만 비교합니다. 원본은 아무도 몰라도 되는 거죠.

해싱 = 호텔 객실의 개인 금고
좋은 호텔 객실에는 귀중품을 넣는 개인 금고가 있죠. 그 금고 비밀번호를 프론트 데스크 직원이 알까요? 모릅니다. 그 기간에 묵는 손님만 새로 입력해서 씁니다. 해싱이 딱 이거예요 — 창고 주인조차 손님의 진짜 비밀번호를 모르는 상태.

요즘 AI는 웬만하면 알아서 해싱 처리를 해 줍니다. 하지만 "웬만하면"에 회원 정보를 걸 수는 없죠. 한 마디만 더 붙이면 됩니다.

✅ "비밀번호는 평문으로 저장하는 거 금지. bcrypt 같은 표준 방식으로 해싱해서 저장해 주고, 원문은 어디에도 남기지 마." — 오늘 딱 하나만 복사해 가신다면 이 문장입니다.

💳 카드값 87만 원의 정체 — API 키 금고와 계량기 두 개

이제 사람이 아니라 프로그램끼리 신분을 확인하는 열쇠 이야기입니다. 07강에서 배운 API 기억하시죠? 기상청·공공데이터처럼 공짜인 것도 있지만, 클로드나 챗지피티 API처럼 쓴 만큼 돈이 나가는 것도 있어요. 그 문을 여는 열쇠가 API 키입니다.

상상을 해 봅시다. 챗지피티 API를 연결해 서비스를 열었는데 한 달 뒤 카드 명세서에 87만 원이 찍혀 있습니다. 손님은 몇 명 오지도 않았는데요. 특히 04강에서 배운 깃허브에 코드를 올릴 때 키가 그대로 딸려 올라가면, 지나가던 누군가가 "어, 이거 되네?" 하며 내 키로 마음껏 쓸 수 있습니다.

잠금장치비유하는 일
.env 파일금고API 키를 코드에서 분리해 따로 보관 (코드엔 키가 없음)
.gitignore"이건 안 가져감" 표시깃허브에 올릴 때 .env를 제외 → 이중 잠금
월 사용 한도우리 집 계량기API 설정에서 월별 지출 한도를 미리 걸어 둠
회원별 사용 제한손님별 계량기무료 회원은 하루 3번처럼 1인당 사용량을 제한

키를 발급받고 신용카드를 등록하고 복사해 오는 것까지는 여러분이 직접 하셔야 합니다. 그 다음이 중요해요 — "API 키는 .env 파일에 보관해 줘", ".gitignore에 .env를 등록해 줘"까지 시키면 이중으로 잠깁니다. 다만 하나 더 — 키를 쓰는 코드가 화면 쪽에 있으면 .env에 넣어도 브라우저에서 들여다보입니다. "API 키는 서버에서만 쓰게 해 줘"까지 같이 시켜 주세요. 참고로 클로드 코드에 키를 그대로 붙여넣으면 "이미 노출되었으니 새로 발급받으세요"라고 안내하는 경우가 많아요. 유출됐다면 미련 없이 재발급하세요.

실전 사례 — 월 15,000원 받는 서비스라면? 한 회원이 API 요금을 15,000원어치 넘게 쓰면 그 순간부터 적자입니다. 그래서 계량기를 두 개 답니다. ① 내 API 설정의 월별 지출 한도 ② AI에게 시키는 회원별 제한"무료 회원은 하루 3번. 사용 횟수는 데이터베이스에 기록해서 서버에서 확인하고, 초과하면 막아줘." 기록을 안 남기면 3번을 썼는지 4번을 썼는지 모르니 계속 쓰게 됩니다.

🚪 인증 · 인가 · 토큰 — 넌 누구냐, 뭐 해도 되냐, 팔찌 하나로

이제 자물쇠가 열려서 안에 들어왔습니다. 그런데 들어왔다고 모든 방에 다 들어갈 수 있는 건 아니죠. 여기서 글자 하나 차이인데 완전히 다른 두 단어가 나옵니다.

인증(Authentication)은 "넌 누구냐"입니다. 건물 입구에서 신분증을 보여주고 들어가는 것 — 방금 한 로그인이죠. 인가(Authorization)는 "너 뭐 해도 되냐"입니다. 어디까지 들어오고 어디까지 만질 수 있는지, 출입 권한이에요. 06강에서 알바생이 "저 주방에 들어갈 권한이 없는데요"라고 한 그 장면이 바로 인가입니다.

로그인한 사람어디까지 인가할까AI에게 시키는 말
손님(일반 회원)내 정보 보기 · 내 글 관리"손님은 내 정보 보기까지만 하게 해 줘"
직원주문 관리"직원 아이디로 들어온 사람은 주문 관리까지만 인가시켜 줘"
관리자(사장)매출 정산 · 전체 데이터"매출 정산은 관리자만 볼 수 있게 막아 줘"

마지막은 토큰입니다. 화면을 누를 때마다 매번 아이디·비밀번호를 다시 치라고 하면 너무 번거롭겠죠. 그래서 놀이공원·콘서트장의 팔찌를 씁니다. 입구에서 신분 확인을 한 번 받으면 손목에 팔찌를 채워주고, 그 다음부터는 팔찌만 보여주면 자유롭게 드나들 수 있죠. 이 디지털 팔찌가 토큰이고, 많이 쓰는 게 JWT입니다. 위조하기 어렵게 특별한 도장이 찍혀 있고 일정 시간이 지나면 만료되기도 해요. 우리가 매일 누르는 '자동 로그인'의 정체가 이겁니다.

✅ "한 번 로그인한 사람이 자동 로그인을 누르면 토큰을 발급해서 매번 비밀번호를 다시 묻지 않게 해 줘."

한눈에 보는 권한·인증 8단어 정리

용어자물쇠 비유하는 일
인증 (Authentication)입구에서 신분증 확인"넌 누구냐" — 아이디+비밀번호로 본인 확인
인가 (Authorization)어느 방까지 들어갈 수 있나"너 뭐 해도 되냐" — 손님·직원·관리자 출입 권한
평문 저장카운터에 비번 써 붙이기비밀번호가 그대로 보임 — 절대 금지
해싱호텔 객실의 개인 금고알아볼 수 없게 뒤섞어 저장, 거꾸로 못 풂
소셜 로그인동네 열쇠 장인에게 맡기기카카오·네이버·구글이 신원을 대신 보증
토큰 (JWT)놀이공원 팔찌한 번 로그인하면 매번 안 묻게 — 자동 로그인
API 키남의 가게 출입증유출되면 내 카드값이 나감 — 유출 시 재발급
.env · .gitignore금고 · "안 가져감" 표시키를 코드와 분리하고 깃허브에서 제외 (이중 잠금)

사장님처럼 AI에게 시키는 법 — "잠궈서 저장해"를 콕 집어서

정리하면 이렇습니다. "로그인 기능 만들어 줘" 한 마디로 끝내면 극단적으로는 해싱도 안 된 채 비밀번호가 평문으로 들어갈 수 있습니다. 대신 이렇게 시켜 보세요.

❌ "로그인 기능 만들어 줘" (열쇠 하나·평문 저장으로 갈 수 있음)
✅ "로그인 만들어 줘. 아이디랑 비밀번호 둘 다 맞을 때만 통과시키고, 비밀번호는 평문 금지·해싱으로 저장해. 소셜 로그인은 파이어베이스 인증 붙이고, 키는 .env 파일에 보관해 줘."
이런 상황이라면…이렇게 콕 집어 시키세요
AI가 짠 로그인이 안전한지 모르겠다"비밀번호를 평문으로 저장하진 않았는지, 해싱했는지 확인해서 알려줘"
회원 정보를 지킬 자신이 없다"비밀번호는 해싱으로 저장하고 원문은 어디에도 남기지 마"
회원가입을 더 쉽게 만들고 싶다"파이어베이스 인증으로 구글 로그인 붙여 줘"
API 키를 깃허브에 올릴까 봐 불안하다"키는 .env에 넣고 .gitignore에 등록해 줘"
요금이 새어 나갈까 걱정된다"무료 회원은 하루 3번, 횟수는 DB에 기록해 서버에서 확인하고 초과하면 막아 줘"
손님이 매출까지 볼까 봐 걱정된다"손님은 내 정보까지, 직원은 주문 관리까지만 인가해 줘"
매번 로그인하기 번거롭다"자동 로그인을 누르면 토큰을 발급해서 다시 안 묻게 해 줘"

인증과 보안을 알면 AI가 짜 준 코드를 검토할 수 있는 사장이 됩니다. 비밀번호를 그대로 저장하진 않았는지, 토큰은 잘 쓰는지 같이 짚어 볼 수 있는 거죠. 단어를 아는 사장은 AI를 부리고, 모르는 사장은 AI가 대충 해놔도 끝까지 모릅니다.

📝 5분 체크포인트

오늘 핵심 3가지를 점검합니다. 답을 고르고 [정답 확인]을 누르면 즉시 채점됩니다.

Q1. 회원의 비밀번호를 데이터베이스에 안전하게 저장하는 방식과, 그때 쓰는 이름은?

정답: B — 비밀번호를 알아볼 수 없게 뒤섞은 값으로 바꿔 저장하는 것이 해싱입니다. 호텔 객실의 개인 금고처럼 창고 주인조차 원본을 모르죠. 로그인할 땐 입력값도 같은 방식으로 뒤섞어 같은지만 비교합니다. 반대로 평문 저장은 에어비앤비 문자처럼 한 장만 새어 나가도 모든 방이 열려요.

Q2. 인증(Authentication)인가(Authorization)의 차이를 바르게 설명한 것은?

정답: D — 글자 하나 차이인데 완전히 다릅니다. 인증은 입구에서 신분증을 보여주는 것(로그인)이고, 인가는 들어온 뒤 어느 방까지 들어갈 수 있는지를 정하는 겁니다. 손님은 내 정보까지, 직원은 주문 관리까지, 관리자는 매출 정산까지죠.

Q3. 외부 API 키 때문에 손님도 몇 명 없는데 카드값이 87만 원 나오는 사고를 막으려면?

정답: A — 키를 코드에 그대로 적어 두면(하드코딩) 깃허브에 올라가는 순간 누구나 내 키로 쓸 수 있습니다. .env라는 금고에 넣어 코드와 분리하고 .gitignore("무시해")에 등록하면 이중 잠금이 돼요. 여기에 월 지출 한도회원별 사용 제한이라는 계량기 두 개까지 달면 요금 폭탄을 막을 수 있습니다.

🎯 권한·인증 개념 이해 점수

해당되는 항목을 모두 클릭해 체크하세요. 마지막에 [내 점수 보기]를 누르면 등급이 나옵니다.

  • 8강은 "저장한다", 9강은 "잠궈서 저장한다"의 차이를 설명할 수 있다
  • 로그인의 열쇠가 두 개(아이디=넌 누구야, 비밀번호=진짜 너 맞아?)임을 안다
  • 평문 저장이 왜 위험한지 남에게 설명할 수 있다
  • 해싱이 '알아볼 수 없게 뒤섞어 저장'하는 것임을 안다
  • 소셜 로그인이 카카오·구글에게 신원 보증을 맡기는 것임을 안다
  • 인증(넌 누구냐)과 인가(뭐 해도 되냐)를 구분할 수 있다
  • API 키를 .env에 넣고 .gitignore에 등록해야 하는 이유를 안다
  • "평문 금지·해싱으로 저장해"처럼 AI에게 콕 집어 시킬 수 있다
오늘 단 하나만 기억하세요 — "잠궈서 저장한다."
자물쇠를 여는 열쇠는 두 개(아이디+비밀번호) · 열쇠 만들기가 귀찮으면 소셜 로그인(열쇠 장인) · 비밀번호는 무조건 해싱(호텔 금고), 평문은 절대 금지 · 넌 누구냐는 인증, 뭐 해도 되냐는 인가 · 매번 안 묻게 해주는 팔찌가 토큰(JWT) · 내 돈을 지키는 건 .env 금고 + .gitignore + 계량기 두 개. 이 그림 한 장이면, AI가 "해싱했어요, 토큰 발급했어요"라고 할 때 고개만 끄덕이는 대신 "그럼 인가도 걸어줘"라고 되받는 사장이 됩니다.
📩 이 시리즈를 놓치지 마세요
「비개발자 사고법」 식당 세계관 시리즈는 한 편이라도 놓치면 비유가 끊깁니다. 유튜브 채널 구독으로 새 영상을 가장 먼저 받아보시고, AI아카데미 자료실에서 다른 무료 자료도 함께 보세요.
🚀 한 걸음 더 — 내 서비스에 진짜로 자물쇠를 걸고 싶다면
회원 정보와 결제가 얽히면 혼자 판단하기 어려운 지점이 반드시 나옵니다. 온라인 강의로 체계적으로 익히거나, 1:1 컨설팅·강의 문의로 우리 회사·내 서비스에 맞춘 적용을 받아보세요. 외부강사 김지백이 직접 안내합니다.
다음 편 예고 — 주방도 창고도 자물쇠도 다 갖췄습니다. 그럼 이제 뭘 해야 할까요? 손님을 받아야죠. 10강은 배포·도메인·클라우드 — 가게 개업 편입니다. 내 컴퓨터에만 있던 걸 세상에 공개하고 간판을 다는 이야기, 다음 시간에 개업으로 끝냅니다. 구독·알림을 켜두면 새 글과 영상을 가장 먼저 받아보실 수 있습니다.
#비개발자 사고법#인증과 보안#인증 vs 인가#권한 관리#해싱#비밀번호 저장#API 키#.env 환경변수#토큰 JWT#Firebase 인증#바이브 코딩#AI 코딩

자주 묻는 질문

Q. 코드도 모르는 비개발자가 인증과 보안까지 알아야 하나요?
직접 짜지는 않아도 개념은 반드시 알아야 합니다. 비개발자는 아이디·비밀번호를 치고 들어가지긴 하는데, 그 안에서 제대로 잠겼는지를 눈으로 볼 수가 없기 때문입니다. 바이브 코딩은 정확하게 시키지 않으면 추측하는 경향이 있어서, 특히 아껴 쓰려고 낮은 모델로 돌리면 인증과 보안이 이상하게 짜이는 경우가 생깁니다. 그래서 인증·보안 작업만큼은 되도록 좋은 모델을 붙이고, 'AI가 못 해 주는 게 아니라 잠궈서 저장해라고 우리가 안 시킨 것'이라는 감각을 갖는 게 핵심입니다.
Q. 비밀번호를 그대로 저장하면 왜 위험한가요? 해싱이 뭔가요?
그대로 저장(평문)하면 창고를 여는 사람이 회원 비밀번호를 다 볼 수 있고, 그 아이디로 로그인까지 할 수 있기 때문입니다. 에어비앤비 주인이 문자로 현관 비밀번호를 그대로 알려주는 것과 같아서, 그 한 장이 새어 나가면 모든 객실이 열립니다. 해싱은 비밀번호를 알아볼 수 없게 뒤섞은 값으로 바꿔 저장하는 방식이라, 창고 주인조차 원본을 모릅니다. 호텔 객실의 개인 금고처럼요. 로그인할 땐 입력한 비밀번호도 같은 방식으로 뒤섞어 값이 같은지만 비교합니다. AI에게는 '평문 저장 금지, 해싱으로 저장하고 원문은 어디에도 남기지 마'라고 시키면 됩니다.
Q. 인증과 인가는 뭐가 다른가요?
인증(Authentication)은 '넌 누구냐', 인가(Authorization)는 '너 뭐 해도 되냐'입니다. 글자 하나 차이인데 완전히 다릅니다. 인증은 건물 입구에서 신분증을 보여주고 들어가는 것이라 우리가 매일 하는 로그인이 여기에 해당하고, 인가는 들어온 뒤에 어느 방까지 들어갈 수 있는지를 정하는 출입 권한입니다. 손님은 내 정보 보기까지, 직원은 주문 관리까지, 관리자만 매출 정산까지 볼 수 있게 나누는 것이죠. 06강에서 알바생이 '저 주방에 들어갈 권한이 없는데요'라고 한 게 바로 인가입니다.
Q. 소셜 로그인(카카오·구글)은 언제 붙이는 게 좋나요?
내 정보를 저장하거나 즐겨찾기·이력을 남겨야 하는 서비스라면 붙이는 게 좋습니다. 소셜 로그인은 동네에서 열쇠 잘 만드는 장인에게 맡기는 것과 같아서, 카카오나 구글이 '내가 이 사람 신원 보증할 테니 통과시켜 줘'라고 대신 말해 주는 구조입니다. 파이어베이스 인증(Authentication)의 제공업체 메뉴에서 구글·애플·전화번호는 바로 켤 수 있고(카카오·네이버는 한 단계 더 연동이 필요합니다), AI에게는 '파이어베이스 인증으로 구글 로그인 붙여 줘'라고 시키면 됩니다. 단순 회원가입 연습 단계라면 이메일·비밀번호만으로도 충분하고, 휴대폰·패스 인증은 문자 한 통이 다 돈이라 실명 확인이나 중복 가입 방지가 필요한 시점(사업이 커진 뒤)에 붙이는 게 좋습니다.
Q. API 키를 잘못 관리하면 정말 요금 폭탄이 나오나요?
그렇습니다. 손님이 몇 명 오지 않았는데도 카드값이 87만 원으로 찍힐 수 있습니다. 코드에 API 키를 그대로 적어 두면(하드코딩) 깃허브에 올리는 순간 지나가던 누군가가 '이거 되네?' 하며 내 키로 마음껏 쓸 수 있기 때문입니다. 그래서 키는 .env라는 금고 파일에 넣어 코드와 분리하고, .gitignore('무시해')에 등록해 업로드에서 빼면 이중으로 잠깁니다. 이미 유출됐다면 반드시 새로 발급받으세요. 참고로 클로드 코드에 키를 그대로 붙여넣으면 '이미 노출되었으니 새로 발급받으세요'라고 안내하는 경우가 많습니다.
Q. 회원들이 AI 기능을 무제한으로 쓰면 제가 손해 보는데, 어떻게 막나요?
계량기를 두 개 다세요. 첫 번째는 API 설정에서 거는 월별 지출 한도이고, 두 번째는 AI에게 시키는 회원별 사용 제한입니다. 예를 들어 월 15,000원을 받는 서비스라면 한 회원이 15,000원어치를 넘게 쓰는 순간 적자가 되니까요. 이렇게 시키면 됩니다 — 'AI 기능은 회원만 쓸 수 있게 하고, 무료 회원은 하루 3번. 사용 횟수는 데이터베이스에 기록해서 서버에서 확인하고, 초과하면 막아줘. 요청 한 번에 AI 사용료(토큰 비용)가 얼마쯤 드는지도 알려줘.' 횟수를 기록하지 않으면 3번을 썼는지 4번을 썼는지 알 수 없어 계속 쓰게 되므로, '기록해서 서버에서 확인'을 반드시 넣어야 합니다.
AI DIAGNOSIS · 약 4분
이 글, 읽기만 하고 끝내긴 아깝죠
약 4분 진단으로 내 AI 활용 점수와, 오늘부터 30일 액션 플랜을 받아보세요.
무료 진단 시작
NEWSLETTER · 무료

주간 AI 실무 레터

이 글이 도움이 됐다면, 매주 현장에서 검증한 AI 활용법·새 자료를 이메일로 받아보세요. 광고 없이, 바로 쓰는 것만.

어떤 목적으로 오셨나요? (선택)
이 주제로 강의 문의

우리 조직에 맞는 AI 교육을
설계해드립니다.

위 자료의 내용을 기반으로 맞춤형 강의 커리큘럼을 구성해드립니다. 기업·공공기관·임원 대상 프로그램 모두 가능합니다.

강의 소개 보기강의 문의하기

조회수·다운로드 카운트 등 인터랙티브 기능은 자료실 인터랙티브 페이지에서 이용하실 수 있습니다.