API KEY 숨기기
204
작성한 질문수 2
API KEY를 숨겨서 github에 올리고 싶은데 플러터에서는 어떻게 하면 좋을까요?
답변 2
1
안녕하세요!
일반적으로 "환경변수"를 사용합니다.
개념적으로만 말씀을 드리면 .env 파일같은 환경변수 파일을 생성하고 해당 파일은 Git에 commit 하지 않는 방식입니다.
레포지토리를 다운 받을때마다 개발자가 직접 .env 파일을 재생성해서 실행하면 commit 하지 않고 키 값들을 관리 할 수 있습니다.
https://pub.dev/packages/flutter_dotenv
위 패키지가 여러 방법중 한가지 선택지입니다.
감사합니다!
0
안녕하세요, 인프런 AI 인턴입니다. 이창욱님.
Flutter 프로젝트에서 API KEY를 숨기고 GitHub에 올리는 방법에 대해 설명드리겠습니다. API 키를 안전하게 관리하는 것은 매우 중요합니다. 이를 위해 환경 변수와 .gitignore 파일을 사용하여 키를 보호할 수 있습니다.
환경 변수 사용하기: 보안상의 이유로 API Key는 코드에 직접 포함시키지 않고 환경 변수로 관리하는 것이 좋습니다. 환경 변수로 API 키를 설정하고 이를 코드에서 불러와 사용하시면 됩니다. 이를 위해 여러분의 운영체제에서 환경 변수를 설정하거나, local 파일을 생성하여 이를 템플릿으로 사용하는 방법도 있습니다.
.gitignore활용하기: 민감 정보를 담고 있는 파일은.gitignore에 추가하여 GitHub에 푸시되지 않도록 차단할 수 있습니다. 따라서 API 키 등 민감한 정보를 저장하는 파일은.gitignore파일에 추가해 놓습니다.flutter_secure_storage 패키지 사용하기: Flutter에서 보안 저장소를 이용해 API 키를 안전하게 저장하는 방법도 있습니다. 이 패키지를 사용하면 앱 내에서 민감 데이터를 안전하게 관리할 수 있습니다.
flutter_secure_storageGoogle Play와 Apple Store의 안전한 저장소: 또한, 운영체제에서 제공하는 안전한 키 저장소 기능을 사용하는 것도 추천드립니다. Android에서는 Keystore와 iOS에서는 Keychain을 활용하여 민감 정보를 저장할 수 있습니다.
관련된 유사 질문은 아래 링크에서 추가로 확인하실 수 있습니다:
- 오늘도 출근 세팅하기: GitHub에 API 키를 노출하지 않는 방법에 대한 논의입니다.
- แสดงความคิดเห็น: 네이티브 코드에 키를 노출하지 않는 방법이나 private repo 사용 등을 제안합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
198강 (){onTap(e);}의 이해 돕기
0
25
1
video_call 플러그인 설치후 에러 발생
0
45
1
SDK 안드로이드 설치 질문!
0
59
1
코드팩토리 디스코드 링크 다시 부탁드려요~
0
92
1
Webview를 이용해서 URL 상의 페이지 출력 불가
0
69
1
홈스크린 함수를 함축해서 main.dart에 옮기는 문제
0
55
1
플레이스토어
0
59
1
아고라 엔진 init 함수의 반환타입이 Future<void> 이것의 의미는 무엇인가요?
0
55
1
가이드라인 질문
0
57
0
emulator 에러 환경설정 뭐가 문제 일까요??
0
76
1
emulator 실행 오류
0
93
3
Column을 가로방향 최대 사이즈를 차지하도록 하는 방법에 관련
0
71
1
pubspec.yaml에서 font를 추가하면서 weight 값을 지정하는 것이 의미가 있는 것인지 문의
0
43
1
setState()를 호출하지 않으면 build가 실행 안되는 건가요?
0
53
1
video_call 플러그인 설치시 에러문제
0
64
1
children 안의 if 문에서 { } 못쓰는 이유?
0
48
1
이렇게 오류가 떠요
0
63
1
AppBar 사용했는데
0
61
2
[문제해결] '오늘도 출첵!' 의 171번 강의에서 중요한 문제를 발견했습니다
0
56
1
StatefulWidget 실습 에러가 발생합니다.[해결완료]
0
63
1
Video Player 프로젝트에 대한 추가 질문
0
53
0
Row위젯이나 column위젯의 위치는 누가 정하나요??
0
42
1
geolocator 오류때문에 개발진행이 불가능입니다
0
63
1
API 관련 이슈
0
86
2





