로그인 플로 테스트

Facebook 로그인 플로가 다양한 조건에서 원활하게 작동하는지 테스트하고 확인하는 것이 중요합니다. 로그인 플로를 테스트하려면 먼저 별도의 Facebook 사용자 계정을 생성합니다.

  1. Facebook으로 새로운 테스트 사용자 계정 생성
  2. 테스트 사용자 자격 증명으로 Facebook 로그인

일반적이 테스트 사례

아래의 각 사용 사례를 테스트하기 전에 앱 설정을 사용하여 테스트 사용자의 Facebook 계정에서 앱을 삭제하세요.

1. 신규 사용자가 Facebook을 통해 앱에 로그인하는 경우

  1. 앱으로 이동해서 Log in with Facebook 버튼을 탭합니다.
  2. 확인을 탭해서 읽기 권한을 수락합니다.
  3. 다시 확인을 클릭해서 쓰기 권한(해당할 경우)을 수락합니다.
  4. 앱 설정으로 이동해서 부여된 권한이 있는지 확인합니다.

2. 동일한 이메일 주소로 Facebook 이외 플로를 통해 로그인한 적이 있는 사용자가 Facebook으로 로그인하는 경우

  1. 앱으로 이동해서 이메일 주소로 로그인합니다.
  2. 앱에서 로그아웃하고 'Facebook으로 로그인' 버튼을 탭합니다.
  3. 확인을 탭해서 읽기 권한을 수락합니다(및 다시 확인을 탭해서 쓰기 권한을 수락합니다(해당하는 경우)).
  4. Facebook의 앱 설정으로 이동해서 부여된 권한이 있는지 확인합니다.

3. Facebook으로 앱에 로그인한 기존 사용자가 다시 로그인하는 경우

  1. 앱으로 돌아가서 'Facebook으로 로그인' 버튼을 탭합니다.
  2. 확인을 탭해서 읽기 권한을 수락합니다(및 다시 확인을 탭해서 쓰기 권한을 수락합니다(해당하는 경우)).
  3. 앱을 제거한 다음, 다시 설치합니다.
  4. 앱을 열고 'Facebook으로 로그인' 버튼을 탭합니다.
  5. 권한 대화 상자를 보지 않고 로그인할 수 있는지 확인합니다.

4. 기존 사용자가 Facebook으로 로그인에 실패한 후 다시 로그인을 시도하는 경우

  1. 앱으로 이동해서 'Facebook으로 로그인' 버튼을 탭합니다.
  2. 읽기 권한이 표시되는지 확인하고 '취소'를 탭합니다.
  3. 앱을 열고 'Facebook으로 로그인' 버튼을 탭합니다.
  4. 읽기 권한이 표시되는지 다시 확인합니다.

5. 사용자가 앱 설정을 통해 Facebook에서 앱을 삭제하고 앱에 다시 방문하는 경우 앱에서 이를 탐지하고 해당 사용자에게 다시 로그인하라는 메시지를 보내야 합니다.

  1. 앱으로 이동해서 'Facebook으로 로그인' 버튼을 탭합니다.
  2. 확인을 탭해서 읽기 권한을 수락합니다(및 다시 확인을 탭해서 쓰기 권한을 수락합니다(해당하는 경우)).
  3. Facebook의 앱 설정으로 이동해서 앱을 삭제합니다.
  4. 1~2단계를 반복하고 Facebook 로그인이 작동하는지 확인합니다.

6. 사용자가 Facebook으로 앱에 로그인한 후 Facebook 비밀번호를 변경하는 경우

이 경우 토큰이 무효화됩니다. 사용자에게 Facebook 세션이 만료되었다고 알리고 다시 로그인을 요청해야 합니다.

  1. Facebook 비밀번호를 변경하고 '다른 기기에서 로그아웃'을 선택합니다.
  2. 앱으로 이동해서 'Facebook으로 로그인' 버튼을 탭합니다.
  3. 확인을 탭해서 읽기 권한을 수락합니다(및 다시 확인을 탭해서 쓰기 권한을 수락합니다(해당하는 경우)).
  4. Facebook의 앱 설정으로 이동해서 부여된 권한이 있는지 확인합니다.

7. 사용자가 앱 설정을 통해 Facebook 플랫폼을 비활성화하고 앱에 로그인하는 경우

이 경우 사용자에게 오류를 알리고 Facebook 로그인의 iOS 이외 통합 버전으로 리디렉션되도록 앱에서 오류를 탐지하도록 해야 합니다.

  1. 앱 설정을 통해 테스트 사용자에 대해 플랫폼을 비활성화합니다.
  2. 앱으로 이동해서 'Facebook으로 로그인' 버튼을 탭합니다.
  3. 확인을 탭해서 읽기 권한을 수락합니다(및 다시 확인을 탭해서 쓰기 권한을 수락합니다(해당하는 경우)).
  4. 플랫폼이 활성화되었고 올바른 공개 범위로 테스트 사용자 프로필에 앱이 추가되는지 확인합니다.

8. 앱 토큰이 만료되었을 때 사용자가 앱에 다시 방문하는 경우

토큰 만료 처리에 대한 Facebook 가이드를 참조하세요.

9. 여러 기기에서 상태를 동기화하려는 게임의 동기화 상태를 테스트하는 경우

  1. 앱에서 Facebook으로 로그인하고 특정 레벨 X에 도달할 때까지 앱의 게임을 플레이합니다.
  2. 동일하거나 서로 다른 운영 체제를 통해 여러 기기에서 Facebook으로 로그인하고 레벨 X가 그대로인지 테스트합니다.

iOS에서 테스트가 필요한 추가 사용 사례

1. Facebook 앱이 설치되었고 iOS Facebook 통합이 활성화되었을 때 사용자가 앱에 로그인하는 경우

사용자가 Facebook 로그인 읽기 권한 요청을 받은 후에 '취소'를 클릭하면 iOS 시스템 설정으로 이동해서 앱에 대한 로그인을 다시 활성화해야 합니다.

사용자가 iOS 통합 로그인을 통해 Facebook 권한을 거부한 적이 있는 경우 앱에서 향후 권한을 요청할 때 기존의 빠른 앱 전환 로그인을 사용해야 합니다. SDK 호출의 경우 FBSessionLoginBehaviorUseSystemAccountIfPresent를 FBSessionLoginBehavior로 사용하지 마세요. SDK 버전 3.24 이전의 경우 FBSession을 참조하고 그보다 최신 버전인 경우 FBSDKAccessToken currentAccessTokenFBSDKLoginManager를 참조하세요.

2. Facebook 앱이 설치되지 않았고 iOS Facebook 통합이 활성화되지 않았을 때 사용자가 앱에 로그인하는 경우

  1. 앱으로 이동해서 'Facebook으로 로그인' 버튼을 탭합니다.
  2. 모바일 웹 Facebook 로그인 화면이 나타나고 로그인이 가능한지 확인합니다.
  1. 확인을 탭해서 읽기 권한을 수락합니다(및 다시 확인을 탭해서 쓰기 권한을 수락합니다(해당하는 경우)).
  2. Facebook의 앱 설정으로 이동해서 부여된 권한이 있는지 확인합니다.

3. Facebook 앱이 설치되지 않았고 iOS Facebook 통합이 활성화되었을 때 사용자가 앱에 로그인하는 경우

  1. 앱으로 이동해서 'Facebook으로 로그인' 버튼을 탭합니다.
  2. 확인을 탭해서 읽기 권한을 수락합니다(및 다시 확인을 탭해서 쓰기 권한을 수락합니다(해당하는 경우)).
  3. Facebook의 앱 설정으로 이동해서 부여된 권한이 있는지 확인합니다.

테스트 사용자

앱 설정('역할' 아래, 즉 https://developers.facebook.com/apps/{YOUR_APP_ID}/roles/test-users/)에서 테스트 사용자 계정을 만들면 스팸에 대한 염려 없이 Facebook 통합을 확인할 수 있습니다.

iOS SDK에서 (FBSDKCoreKit의) FBSDKTestUsersManager 클래스를 사용하여 자동 통합 테스트를 작성할 수 있는 테스트 사용자에 대해 쉽게 액세스 토큰을 가져올 수 있습니다. 이 클래스는 앱 시크릿 코드가 필요하며, 앱 시크릿 코드가 출시된 앱에 포함되지 않도록 해야 합니다.