또한 사용자가 로그아웃하면 모든 푸시 구독이 삭제되는 것으로 보입니다. 따라서 사용자가 여러 기기(스마트폰, 브라우저, 태블릿)에 로그인된 상태에서 한 기기/세션에서 로그아웃하면, 해당 기기의 푸시 구독이 삭제되어 다른 기기에서 알림을 받을 수 없게 됩니다.
이것은 갱신 시 어떤 구독을 대체해야 하는지, 그리고 로그아웃 시 어떤 구독을 삭제해야 하는지를 파악하는 것과 관련이 있으므로 언급합니다.
또한 사용자가 로그아웃하면 모든 푸시 구독이 삭제되는 것으로 보입니다. 따라서 사용자가 여러 기기(스마트폰, 브라우저, 태블릿)에 로그인된 상태에서 한 기기/세션에서 로그아웃하면, 해당 기기의 푸시 구독이 삭제되어 다른 기기에서 알림을 받을 수 없게 됩니다.
이것은 갱신 시 어떤 구독을 대체해야 하는지, 그리고 로그아웃 시 어떤 구독을 삭제해야 하는지를 파악하는 것과 관련이 있으므로 언급합니다.
음, 오늘 메타에서 로그아웃되었다가 다시 로그인했는데, 그 후에 게시글 푸시 알림이 떴어요… 사용자 주도 로그인 코드 경로에서만 그런 건 아닌가요? ![]()
사용자가 포럼에 다시 방문하거나 로그인하면 브라우저 푸시 구독이 다시 전송되고 재생성됩니다. 하지만 로그아웃한 경우, 해당 구독은 삭제되며 사용자가 해당 기기에서 포럼에 접속할 때까지 푸시 알림이 전달되지 않습니다.
이는 사용자가 로그인한 후 푸시 알림을 받았다고 언급한 내용과 모순되지 않습니다.
코드 참조:
아, 내가 의심했던 바로 그 문제였군
좋은 발견이야! 이건 꼭 수정해야 해!
문제는 현재 특정 구독이 어떤 기기에 대해 존재하는지 저장하지 않고 있다는 거야…
Push API에는 푸시 구독을 무효화하는 unsubscribe 함수가 있습니다:
로그아웃 시 이 함수를(클라이언트 측에서) 호출하면 해당 구독만 서버에서 무효화되고 다른 구독에는 영향을 미치지 않습니다.
사실 클라이언트에는 이미 “라이브 알림” 설정에서 이 작업을 수행하는 unsubscribePushNotification 함수가 있습니다. 아마도 라이브 알림이 활성화된 경우 로그아웃 시 클라이언트 측에서 이 함수를 호출하는 것이 해결책이 될 수 있습니다. 서버에서 단순히 삭제하는 대신 클라이언트 측 구독 키를 폐기하는 것이 좋은 관행일 것입니다.
따라서 수정은 두 부분으로 나눌 수 있습니다:
완료됨
이 주제는 4일 후 자동으로 닫혔습니다. 더 이상 새 답글을 작성할 수 없습니다.