Flutter를 사용해 Furo 로그인을 연동하는 방법을 안내합니다.
https://docs.flutter.dev/get-started/install
위 flutter 공식 문서에 따라 flutter 개발 환경설정을 진행해주세요. 이미 flutter 개발환경이 설정되신 분은 넘어가셔도 좋습니다.
Sample 프로젝트를 다운받아 사용하고 싶으신 분은 다음 명령어를 통해 git 저장소를 다운로드 받으세요.
Furo Flutter Sample 프로젝트를 다운로드 받습니다.
직접 프로젝트를 만들고 싶으신 분은 다음 가이드를 따라 진행해주세요.
이번 가이드에서 저희는 flutter_web_auth 라는 라이브러리를 사용합니다. 라이브러리에 관한 사항은 링크를 참고해주세요.
pubspec.yaml 파일에 dependencies 섹션을 찾아 그곳에 라이브러리를 추가합니다. 예시는 다음과 같습니다.
파라미터 이름 | 설명 | 타입 |
---|---|---|
url | 로그인 페이지의 url | string |
callbackUrlScheme | 인증 후 callback을 받는 uri의 scheme(deep link) web: http/https, mobile: app.scheme [ ex) youtube:// ] | string |
“callbackUrlScheme”은 유효한 스키마 문자열이어야만 작동합니다. 유효한 RFC 3986 URL 스키마는 “문자로 시작하고 문자, 숫자, 플러스 기호 (”+”), 점 (”.”) 또는 하이픈 (”-“)의 조합이 이어져야 합니다.”
lib/main.dart
https://sample.furo.one/{{YOUR_CLIENT_ID}}
를 http://localhost:3000/{{YOUR_CLIENT_ID}}
로 변경합니다.redirectUri 와 callbackUri
로그인 후 사용자를 애플리케이션 내의 특정 페이지로 이동시킬 때 사용하는 속성입니다.
redirectUri는 애플리케이션 내에서 직접, Default Callback URI는 Furo 콘솔에서 각각 지정할 수 있습니다.
앱 내에서 지정한 redirectUri는 통신 중에 악의적으로 조작될 위험이 있기 때문에, Furo 콘솔에서 Default Callback URI에 등록된 URI에 한해서만 redirectUri가 정상 동작합니다.
콘솔 입력창의 Default Callback URI에 기본값 https://sample.furo.one/{{YOUR_CLIENT_ID}}
를 http://localhost:{port}/auth.html
로 변경합니다.
프로젝트의 web 디렉토리 하위에 auth.html 파일을 추가합니다.
프로젝트를 시작 후 로그인 버튼을 눌러 furo에 로그인합니다.
콘솔 입력창의 Default Callback URI에 기본값 https://sample.furo.one/{{YOUR_CLIENT_ID}}
를 {app.scheme}://auth
로 변경합니다.
android/app/src/main/AndroidManifest.xml 파일에 app.scheme를 추가해야합니다.
{deeplink_name}
과 {scheme}
를 설정하시면 됩니다.
Flutter를 사용해 Furo 로그인을 연동하는 방법을 안내합니다.
https://docs.flutter.dev/get-started/install
위 flutter 공식 문서에 따라 flutter 개발 환경설정을 진행해주세요. 이미 flutter 개발환경이 설정되신 분은 넘어가셔도 좋습니다.
Sample 프로젝트를 다운받아 사용하고 싶으신 분은 다음 명령어를 통해 git 저장소를 다운로드 받으세요.
Furo Flutter Sample 프로젝트를 다운로드 받습니다.
직접 프로젝트를 만들고 싶으신 분은 다음 가이드를 따라 진행해주세요.
이번 가이드에서 저희는 flutter_web_auth 라는 라이브러리를 사용합니다. 라이브러리에 관한 사항은 링크를 참고해주세요.
pubspec.yaml 파일에 dependencies 섹션을 찾아 그곳에 라이브러리를 추가합니다. 예시는 다음과 같습니다.
파라미터 이름 | 설명 | 타입 |
---|---|---|
url | 로그인 페이지의 url | string |
callbackUrlScheme | 인증 후 callback을 받는 uri의 scheme(deep link) web: http/https, mobile: app.scheme [ ex) youtube:// ] | string |
“callbackUrlScheme”은 유효한 스키마 문자열이어야만 작동합니다. 유효한 RFC 3986 URL 스키마는 “문자로 시작하고 문자, 숫자, 플러스 기호 (”+”), 점 (”.”) 또는 하이픈 (”-“)의 조합이 이어져야 합니다.”
lib/main.dart
https://sample.furo.one/{{YOUR_CLIENT_ID}}
를 http://localhost:3000/{{YOUR_CLIENT_ID}}
로 변경합니다.redirectUri 와 callbackUri
로그인 후 사용자를 애플리케이션 내의 특정 페이지로 이동시킬 때 사용하는 속성입니다.
redirectUri는 애플리케이션 내에서 직접, Default Callback URI는 Furo 콘솔에서 각각 지정할 수 있습니다.
앱 내에서 지정한 redirectUri는 통신 중에 악의적으로 조작될 위험이 있기 때문에, Furo 콘솔에서 Default Callback URI에 등록된 URI에 한해서만 redirectUri가 정상 동작합니다.
콘솔 입력창의 Default Callback URI에 기본값 https://sample.furo.one/{{YOUR_CLIENT_ID}}
를 http://localhost:{port}/auth.html
로 변경합니다.
프로젝트의 web 디렉토리 하위에 auth.html 파일을 추가합니다.
프로젝트를 시작 후 로그인 버튼을 눌러 furo에 로그인합니다.
콘솔 입력창의 Default Callback URI에 기본값 https://sample.furo.one/{{YOUR_CLIENT_ID}}
를 {app.scheme}://auth
로 변경합니다.
android/app/src/main/AndroidManifest.xml 파일에 app.scheme를 추가해야합니다.
{deeplink_name}
과 {scheme}
를 설정하시면 됩니다.