본문 바로가기
IT 개발 이야기/Spring

Spring Boot와 OAuth 2.0 : 사내 인증 서비스 구축 - 2주차, 개발 환경 설정

by 개발자 Aiden 2023. 7. 4.
반응형

안녕하세요. 지난 시간에는 사내 인증 서비스를 구축하기 위한 OAuth 2.0과 그 기술의 필요성에 대해 이야기하였습니다. 이번 시간에는 사내 OAuth 인증 서비스를 구축하기 위한 개발 환경 설정에 대해 이야기하려고 합니다. 환경 설정은 프로젝트의 성공을 위해 중요한 첫걸음입니다. 오늘은 필요한 도구와 플랫폼 선택 그리고 이를 설정하는 방법에 대해 자세히 알아보겠습니다.

OAuth인증서비스구축


도구와 플랫폼 선택

개발을 시작하기 전에 적합한 도구와 플랫폼을 선택하는 것이 중요합니다. 이 프로젝트에서는 다음과 같은 도구와 플랫폼을 사용할 예정입니다.

  • IntelliJ IDEA : JetBrains에서 제공하는 IntelliJ IDEA는 풍부한 기능과 사용자 친화적인 인터페이스로 많은 개발자들에게 사랑받는 IDE입니다.
  • Java 17 : 이 프로젝트에서 사용할 주요 프로그래밍 언어는 Java입니다. 최신 버전인 Java 17을 사용하여 최신 Java 기능을 적극 활용하겠습니다. 이를 통해 Stream API와 같은 기능을 사용하여 코드의 품질과 가독성을 향상시킬 수 있습니다.
  • Spring Boot : Spring Boot는 Java 개발자가 웹 애플리케이션을 빠르고 효과적으로 구축할 수 있도록 도와주는 프레임워크입니다. 복잡한 설정 없이도 엔터프라이즈급 애플리케이션을 개발할 수 있습니다.
  • MySQL : 데이터를 저장하고 관리하는 데는 MySQL 데이터베이스를 사용합니다. MySQL은 세계에서 가장 인기 있는 오픈 소스 데이터베이스 중 하나로, 성능, 신뢰성, 그리고 간편함이 검증되어 왔습니다.
  • MyBatis : 데이터베이스와의 상호 작용은 MyBatis라는 퍼시스턴스 프레임워크를 통해 진행합니다. MyBatis는 개발자가 SQL을 직접 제어할 수 있도록 해주어 세밀한 데이터 액세스를 가능하게 해줍니다.
  • OAuth 2.0 : 인증 처리에는 OAuth 2.0이라는 보안 프로토콜을 사용합니다. OAuth 2.0은 사용자의 권한을 안전하게 인증하고 부여하는 데 널리 사용되는 프로토콜입니다.
  • JWT (JSON Web Token) : JWT는 사용자 인증 정보를 안전하게 표현하는 데 사용되는 토큰 기반의 표준입니다. 이 토큰은 사용자의 인증 상태를 저장하고 이를 기반으로 서비스가 사용자에게 적절한 리소스를 제공합니다.

이번 프로젝트에서는 위 도구와 플랫폼들을 주로 사용하며, 각각의 역할과 사용 방법에 대해 점진적으로 알아보게 될 것입니다. 이제 이 도구들을 사용하여 개발 환경을 설정해 봅시다.

 

개발 환경 설정

개발 환경 설정이란, 사용하려는 도구와 플랫폼이 원활하게 작동하도록 필요한 설정을 모두 완료하는 것을 의미합니다.

○ IntelliJ IDEA 설치 및 설정

저는 개인적으로 IntelliJ IDEA Ultimate 유료 버전을 사용하고 있지만, IntelliJ IDEA Community Edition을 사용하시는 많은 개발자 분들을 위한 안내도 함께 제공하려 합니다. 비용적인 측면에서 IntelliJ IDEA Community Edition을 선호하시는 분들을 위해 해당 버전의 설치 및 사용법에 대한 링크를 아래에 첨부하였습니다.

반응형

IntelliJ IDEA Community Edition에서는 'Spring Initializr' 옵션이 제공되지 않습니다. 따라서 별도의 과정을 거쳐 Spring Boot 프로젝트를 생성해야 합니다. Spring Initializr 웹 사이트에서 프로젝트를 생성한 후, IntelliJ IDEA에 그 프로젝트를 Import 하는 방식을 사용하면 됩니다.

위의 참조 링크들을 통해 IntelliJ IDEA 설정과 Spring Boot 프로젝트 생성, Import 과정을 따라 해 보시면 됩니다.

Springboot-프로젝트생성1
Springboot-프로젝트생성2

이렇게 하면 IntelliJ IDEA 설정이 완료되고, 이제 Java와 Spring Boot를 사용해서 개발을 시작하실 수 있습니다!

 

 Java 설치 및 설정

이번 프로젝트에서는 Java를 주요 프로그래밍 언어로 사용하며, 보안 강화와 성능 향상을 위해 Java 17을 선택했습니다. Java 17는 그 이전 버전들에 비해 성능 향상, 새로운 기능, 그리고 보안 강화 등 많은 이점을 제공합니다. 또한, Spring Boot 3.0 이상을 사용하기 위해서는 Java 17 이상의 버전이 필요합니다. 이러한 이유로 저희는 프로젝트에서 Java 17 사용을 강력히 권장하며, 향후 Java 업그레이드는 필수가 될 것이라고 예상합니다.

이에 대한 더 자세한 설명은 제가 이전에 작성한 "금융권 자바 버전 업그레이드 필요성과 추천: Java 17 도입 전략" 글에서 찾아보실 수 있습니다. 만약 Java 17 설치 및 환경 변수 설정에 대한 자세한 정보가 필요하시다면 아래 링크를 참고해 주시길 바랍니다.

Java 17 설치 후 IntelliJ IDEA에서는 아래의 과정을 통해 Java 설정을 완료하면 됩니다.

IntelliJ IDEA를 실행합니다.

1. 'File > Project Structure' 메뉴를 선택합니다.
2. 'Project SDK' 옵션에서 설치한 Java 17를 선택합니다.

Springboot-Java설정

위 과정을 통해 IntelliJ IDEA에서 Java 17을 사용하도록 설정하실 수 있습니다.

 

 MySQL 설치 및 설정

이번 프로젝트에서 사용할 데이터베이스는 MySQL입니다. MySQL은 세계에서 가장 널리 사용되는 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS) 중 하나로, 사용자 친화적이면서도 강력한 기능을 제공합니다. MySQL 설치 및 설정에 대한 자세한 정보는 아래 링크를 통해 확인할 수 있습니다.


※ IntelliJ IDEA를 이용한 MySQL 접속 설정

MySQL 설치 및 기본 설정이 완료되었다면, 이제 IntelliJ IDEA에서 MySQL에 접근하는 설정을 해봅시다. IntelliJ IDEA는 내장된 데이터베이스 도구를 통해, 별도의 DB 클라이언트 없이도 데이터베이스에 접근하고 쿼리를 실행할 수 있습니다. 아래는 IntelliJ IDEA에서 MySQL에 접근하는 설정 과정입니다.

1. IntelliJ IDEA를 실행하고 우측 바에 'Database' 탭을 클릭합니다.
2. '+' 버튼을 누르고 'Data Source'에서 'MySQL'을 선택합니다.

IntelliJ-MySQL설정

3. 연결 정보를 입력합니다. 'Test Connection'을 눌러 연결이 성공적으로 이루어졌는지 확인할 수 있습니다.

MySQL접속정보설정

4. 'OK' 버튼을 눌러 연결을 완료합니다.


IntelliJ의 데이터베이스 설정이 완료되면, 이제 IntelliJ의 콘솔을 이용하여 데이터베이스에 직접 접근하고 쿼리를 실행할 수 있습니다. 이는 개발 과정에서 데이터를 쉽게 확인하고 관리할 수 있도록 도와줍니다.

Database접근설정확인



이로써 Spring Boot와 OAuth 2.0을 이용한 사내 인증 서비스 구축에 필요한 모든 개발 환경 설정을 완료했습니다. 이제 IntelliJ IDEA와 MySQL, 그리고 Java 17을 갖춘 우리의 개발 환경에서 OAuth 2.0 인증 서버를 직접 구축해 보는 단계로 넘어갈 준비가 되었습니다.

다음 주차에는 'OAuth 2.0 인증 서버 구축'을 주제로, 본격적인 서버 구축 단계를 진행해 볼 예정입니다. 다음 글에서 만나요.

반응형

댓글


loading