Firebase 익명 사용자는 어떻게 됩니까?
익명 로그인 방식을 사용한 내 앱 사용자에게 어떤 일이 발생하는지 알고 싶습니다.
Firebase 문서는 정말 나쁘고 모든 것을 설명하지 않았고 개발자가 스스로 발견할 것이라고 기대하지 않았습니다.이전 버전 문서에서 로그인 및 인증 탭에서 설정된 만료 시간에 따라 익명 세션이 만료된다는 것을 발견했지만, 이는 세션이 종료된다는 것을 의미하거나 사용자 ID가 내 앱 사용자 목록에서 제거된다는 것을 의미하거나 정확히 무슨 일이 발생했습니까?
나는 이 답을 찾았지만 정말 받아들일 수 없습니다.만약 당신이 웹 앱을 하고 모든 것을 어렵게 만든다면 익명 사용자의 수는 매우 빠르게 증가할 것입니다.심지어 대시보드에서 앱 사용자 수를 볼 수 없습니다!!!그렇다면 어떻게 해야 할까요? 데이터 대시보드를 직접 개발해야 할까요, 아니면 Firebase 팀에서 개발해야 할까요?적어도 사용자를 관리하려면 이메일로 사용자를 검색하는 것보다 더 많은 권한을 가져야 하며 사용자 지정 로그인을 사용할 때도 이 작업을 수행할 수 없습니다.
익명 사용자는 만료되지 않으며 현재 자동으로 삭제할 수 있는 방법은 없습니다.
Firebase는 사용자가 해당 로그인에 연결된 데이터를 아직 저장하고 있는지 여부를 모르기 때문에 자동으로 제거하지 않습니다. 앱 생성자만 제거합니다.여러분이 휴대폰으로 퍼즐 게임을 하고 있다고 상상해 보세요, 그리고 100레벨에 도달합니다.그러면 내년에 레벨 101로 가면 모든 진행이 없어집니다.Firebase는 사용자가 1년 동안 비활성화되어 있으면 계정이 제거될 수 있다고 가정할 수 없습니다.
하지만 도움이 될 몇 가지 도구가 있습니다.
사용자를 나열하면 각 공급자에 다른 공급자가 없는지, 최근에 사용되지 않았는지, 데이터가 저장되지 않았는지 확인하고 사용자를 삭제할 수 있습니다.
그러나 사용자당 하나의 계정만 생성하는 것이 좋습니다.사용자가 로그인하기 전에 데이터를 저장하는 데 도움이 되는 익명 계정을 만드는 경우 인증 공급자(예: Google 또는 전자 메일)를 연결하라는 메시지를 표시할 수 있습니다.새 계정을 만드는 대신 계정을 연결하면 활성 사용자가 계정을 포기하는 것을 방지할 수 있습니다.
일반적으로 인증 상태 지속성을 사용하여 생성되는 계정의 수가 필요 이상이 되지 않도록 해야 합니다.누군가 당신의 페이지를 반복적으로 방문할 때마다 1개의 계정을 만드는 것이 아니라, 새로운 방문자당 1개의 계정을 만드는 것은 사용자 증가를 억제하는 데 상당한 도움이 될 것입니다.
저의 경우, 저는 사용자 모르게 익명 로그인 인증 방식을 사용하고 있습니다.사용자가 앱을 탈퇴할 때마다 익명 사용자를 삭제합니다.
FirebaseAuth.getinstance().currentuser?.delete()
이를 통해 익명 사용자가 쌓이지 않으며 앱 내 익명 사용자 수를 제한합니다.
2023년 업데이트
소방서에서 자동 청소 중입니다.
프로젝트를 ID 플랫폼을 사용하는 Firebase Authentication으로 업그레이드한 경우 Firebase 콘솔에서 자동 정리를 활성화할 수 있습니다.허용하는 이 기능을 활성화하면 Firebase는 30일이 지난 익명 계정을 자동으로 삭제합니다.자동 정리가 활성화된 프로젝트에서는 익명 인증이 사용 제한 또는 청구 할당량에 포함되지 않습니다.
자동 정리를 활성화한 후 생성된 익명 계정은 생성 후 30일이 지나면 언제든지 자동으로 삭제될 수 있습니다.자동 정리를 활성화하기 전에 생성된 익명 계정은 자동 정리를 활성화한 후 30일 이후부터 자동 삭제할 수 있습니다.자동 정리를 해제하면 삭제하도록 예약된 익명 계정은 삭제되도록 예약된 상태로 유지됩니다.이러한 계정은 사용 제한 또는 청구 할당량에 포함되지 않습니다.익명 계정을 로그인 방법에 연결하여 "업그레이드"하면 계정이 자동으로 삭제되지 않습니다.이 기능을 활성화하기 전에 영향을 받는 사용자 수를 확인하고 프로젝트를 Firebase Authentication with Identity Platform으로 업그레이드한 경우 Cloud Logging에서 is_anon으로 필터링할 수 있습니다.
그것을 위한 가능한 클라우드 기능이 있습니다.확인: delete-unused-accounts-cron
이 기능은 일정 시간이 지나면 사용하지 않는 계정을 삭제합니다.익명이 아닌 사용자에게도 유용할 수 있습니다.
익명 사용자만 삭제하거나 해당 사용자만 확인하려는 경우(예: 일반 사용자와 다른 비활성 시간 후 삭제), 다음을 확인하여 해당 사용자를 식별할 수 있습니다.
const inactiveUsers = result.users.filter(
user => {
isAnonymous = user.providerData.length == 0;
//do something when anonymous
});
익명 사용자를 사용자 목록에서 제거하려면 서비스를 작성해야 합니다.
Firebase는 등록된 사용자를 나열하는 방법을 제공하지 않으므로 데이터베이스에 사용자 목록을 저장해야 합니다.그런 다음 node.js admin skd를 사용하여 사용자 데이터를 가져오고 사용자가 익명인지 확인하고 사용자가 생성된 시기를 찾을 수 있습니다.성능상의 이유로 데이터베이스의 특정 영역에 이 정보를 저장하고 한 번에 모두 검색할 수 있습니다.오래된 익명 사용자를 식별하면 쉽게 삭제할 수 있습니다.
언급URL : https://stackoverflow.com/questions/38694015/what-happens-to-firebase-anonymous-users
'programing' 카테고리의 다른 글
excel의 최대값에 대한 행 레이블 반환 (0) | 2023.07.06 |
---|---|
Python: base64 디코딩 시 '잘못된 패딩' 오류 무시 (0) | 2023.07.06 |
통합 테스트를 위해 스프링 부트 @EnableAsync 사용 안 함 (0) | 2023.07.06 |
iphone: 충돌 보고서에서 .dSYM 파일이 있는 위치 (0) | 2023.07.06 |
Microsoft SQL Server의 특정 순서 위치에 새 테이블 열 추가 (0) | 2023.07.06 |