Вы действительно не можете предотвратить это, вам просто нужно поймать исключение и разобраться с ним. Ну ладно, вы могли бы предотвратить это, я думаю, на стороне клиента, сделав несколько эквивалентных вызовов из FB Javascript SDK, чтобы обнаружить плохой сеанс (истек, вышел из системы, пользователь изменил свой пароль и т. Д.) И заставил их снова войти в систему на клиент перед вызовом вашего серверного кода.
Если вы посмотрите на исходный код Facebook C # SDK, вы увидите, что IsAuthorized () = IsAuthenticated (). Все, что делает IsAuthenticated, это проверяет, есть ли у вас Сессия, и что время истечения Сессии не прошло. Сессия могла быть признана недействительной, если пользователь вышел на сервер без уведомления.
Есть и другие исключения OAuth на Facebook, которые вы можете получить здесь. Лучше всего обернуть вышеупомянутый код в try / catch и разобраться с исключениями, повторно предложив пользователю войти в систему и получить новый сеанс с ними.