본문 바로가기

Flutter

API Key Hiding with DotEnv. Api 키 보안 관리하기. 키를 환경설정 파일로 숨기는 방법

출처 : 픽사베이

 

 키를 환경설정 파일로 옴겨서 보안관리 하는 방법이다. 

마지막에 gitignore 에 파일을 등록 함으로서 잘못 업로드되어

키가 공개되는 것을 막는다. 

 

 

https://pub.dev/packages/flutter_dotenv/install

 

flutter_dotenv | Flutter Package

Easily configure any flutter application with global variables using a `.env` file.

pub.dev

.ENV 파일을 프로젝트 수준에서 작성을 한다. 

asset 에 파일을 추가

 

메인이나 .사용하고 자 하는곳에서 . 위와 같이 파일을 불러온다. 

print(dotenv.env['ENDPOINT']);
print(dotenv.env['APIKEY']);

아래처럼  GPT에 적용해서 . 파일 경로와 APi키를 확인해볼 수 있다.

Future<String> sendMessageToChatGpt(String message) async {
  print('==ENDPOINT========'+dotenv.env['ENDPOINT'].toString());
  print('==APIKEY====='+dotenv.env['APIKEY'].toString());

  Uri uri = Uri.parse('${dotenv.env['ENDPOINT']}');

 

[ +783 ms] D/EGL_emulation( 6421): app_time_stats: avg=390.28ms min=270.72ms max=496.21ms count=3
[  +75 ms] I/flutter ( 6421): ==ENDPOINT=====https://api.openai.com/v1/chat/completions
[        ] I/flutter ( 6421): ==APIKEY=======AFLS************LFSADKFASLHJD;
[+1157 ms] D/EGL_emulation( 6421): app_time_stats: avg=32.30ms min=5.43ms max=503.03ms count=38
[ +273 ms] I/flutter ( 6421): {
[        ] I/flutter ( 6421):   "id": "chatcmpl-----------------",
[        ] I/flutter ( 6421):   "object": "chat.completion",
[        ] I/flutter ( 6421):   "created": 1702788944,
[        ] I/flutter ( 6421):   "model": "gpt-3.5-turbo-0613",
[        ] I/flutter ( 6421):   "choices": [
[        ] I/flutter ( 6421):     {

 


마지막 으로 . git등 올려서 . 키가 공개되지 않기 위한 처리 ..  .
env를 무시하게 하는 방법은 아래 파일 안에 입력해둔다 . 

 

. gitnore