인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

이창욱님의 프로필 이미지

작성한 질문수

[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

Google Maps 플러그인 세팅하기

API KEY 숨기기

작성

·

78

0

API KEY를 숨겨서 github에 올리고 싶은데 플러터에서는 어떻게 하면 좋을까요?

답변 2

1

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요!

일반적으로 "환경변수"를 사용합니다.

개념적으로만 말씀을 드리면 .env 파일같은 환경변수 파일을 생성하고 해당 파일은 Git에 commit 하지 않는 방식입니다.

레포지토리를 다운 받을때마다 개발자가 직접 .env 파일을 재생성해서 실행하면 commit 하지 않고 키 값들을 관리 할 수 있습니다.

https://pub.dev/packages/flutter_dotenv

위 패키지가 여러 방법중 한가지 선택지입니다.

감사합니다!

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. 이창욱님.

Flutter 프로젝트에서 API KEY를 숨기고 GitHub에 올리는 방법에 대해 설명드리겠습니다. API 키를 안전하게 관리하는 것은 매우 중요합니다. 이를 위해 환경 변수와 .gitignore 파일을 사용하여 키를 보호할 수 있습니다.

  1. 환경 변수 사용하기: 보안상의 이유로 API Key는 코드에 직접 포함시키지 않고 환경 변수로 관리하는 것이 좋습니다. 환경 변수로 API 키를 설정하고 이를 코드에서 불러와 사용하시면 됩니다. 이를 위해 여러분의 운영체제에서 환경 변수를 설정하거나, local 파일을 생성하여 이를 템플릿으로 사용하는 방법도 있습니다.

  2. .gitignore 활용하기: 민감 정보를 담고 있는 파일은 .gitignore에 추가하여 GitHub에 푸시되지 않도록 차단할 수 있습니다. 따라서 API 키 등 민감한 정보를 저장하는 파일은 .gitignore 파일에 추가해 놓습니다.

  3. flutter_secure_storage 패키지 사용하기: Flutter에서 보안 저장소를 이용해 API 키를 안전하게 저장하는 방법도 있습니다. 이 패키지를 사용하면 앱 내에서 민감 데이터를 안전하게 관리할 수 있습니다.
    flutter_secure_storage

  4. Google Play와 Apple Store의 안전한 저장소: 또한, 운영체제에서 제공하는 안전한 키 저장소 기능을 사용하는 것도 추천드립니다. Android에서는 Keystore와 iOS에서는 Keychain을 활용하여 민감 정보를 저장할 수 있습니다.

관련된 유사 질문은 아래 링크에서 추가로 확인하실 수 있습니다:
- 오늘도 출근 세팅하기: GitHub에 API 키를 노출하지 않는 방법에 대한 논의입니다.
- แสดงความคิดเห็น: 네이티브 코드에 키를 노출하지 않는 방법이나 private repo 사용 등을 제안합니다.

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