[flutter] 플러터에서의 마이크로소프트 Azure와의 연결 설정 방법
플러터(Flutter)는 구글이 개발한 UI 프레임워크로, 다양한 플랫폼에서 동작할 수 있는 모바일 애플리케이션을 개발할 수 있습니다. 이번 포스트에서는 플러터 애플리케이션에서 마이크로소프트 Azure와의 연결 설정 방법을 안내하겠습니다.
Azure 계정 생성 및 앱 등록
- 마이크로소프트 Azure 포털에 로그인합니다.
- 왼쪽 메뉴에서 “Azure Active Directory”를 선택합니다.
- “애플리케이션 등록”을 클릭합니다.
- “새 애플리케이션 등록”을 선택하고 애플리케이션의 이름을 입력합니다.
- “리디렉션 URI”에는
https://login.live.com/oauth20_desktop.srf
를 입력합니다. - 애플리케이션을 등록하고 나면 “애플리케이션 ID”를 확인할 수 있습니다. 이 값은 향후 플러터 애플리케이션에서 사용됩니다.
- “인증”을 클릭하고 “새 클라이언트 비밀”을 생성합니다. 이 값은 플러터 앱에서 Azure와의 연결을 설정할 때 필요한 비밀 키입니다.
- 생성된 클라이언트 비밀 값을 기록해 둡니다.
플러터 앱에서 Azure와의 연결 설정
-
플러터 프로젝트의
pubspec.yaml
파일에 다음 의존성을 추가합니다:dependencies: flutter_appauth: ^0.9.1 http: ^0.13.0
- 플러터 앱의 진입점인
main.dart
파일을 엽니다. -
다음과 같이 필요한 패키지를 import 합니다:
import 'package:flutter_appauth/flutter_appauth.dart'; import 'package:http/http.dart' as http;
-
main()
함수 내에서 다음과 같이 AppAuth 인스턴스를 생성하고 Azure에 등록한 애플리케이션의 설정을 추가합니다:final appAuth = FlutterAppAuth(); final azureClientId = 'Azure 애플리케이션 ID'; final azureClientSecret = 'Azure 클라이언트 비밀 키'; final azureAuthority = 'https://login.microsoftonline.com/{YOUR_TENANT_ID}';
-
연결 설정을 위한 콜백 URI를 정의합니다:
final redirectUri = 'com.example.flutterappauth:/oauthredirect';
-
Azure와의 인증 및 액세스 토큰을 가져오는 함수를 작성합니다:
Future<Map<String, dynamic>> signInWithAzure() async { final authorizationTokenResponse = await appAuth.authorizeAndExchangeCode( AuthorizationTokenRequest( azureClientId, redirectUri, serviceConfiguration: AuthorizationServiceConfiguration( '${azureAuthority}/v2.0', ), scopes: ['openid', 'profile', 'offline_access'], additionalParameters: {'prompt': 'select_account'}, ), ); final accessToken = authorizationTokenResponse.accessToken; final idToken = authorizationTokenResponse.idToken; // 액세스 토큰 및 ID 토큰을 사용하여 필요한 작업 수행 return {'accessToken': accessToken, 'idToken': idToken}; }
main()
함수에서signInWithAzure()
함수를 호출하여 Azure와 연결을 설정하고 액세스 토큰 및 ID 토큰을 얻고자 하는 곳에서 사용합니다.
이제 플러터 앱과 마이크로소프트 Azure를 연결할 수 있는 방법을 알게 되었습니다. Azure와의 연결을 통해 사용자 관리, 데이터 저장 및 인증 기능을 효과적으로 구현할 수 있습니다.