В случае stackoverflow, я думаю, что они создают учетную запись пользователя внутри, однако они создают имя пользователя от имени пользователя - как user1243534, если пользователь не указывает свою собственную. Эта внутренняя учетная запись используется для хранения всей информации, связанной со стековым потоком, для пользователя, которой нет в Facebook (или другом поставщике) - репутации, вопросов, ответов, всего.
Если в вашем случае вашему веб-приложению не нужно фиксировать ЛЮБЫЕ данные, относящиеся к пользователю, за исключением сеанса с некоторыми временными переменными сеанса (то, что он вошел в систему с помощью Facebook, его имени в Facebook и т. Д.), Вы можете опустите локальное хранилище пользователей и учетные записи. В этом случае ваше приложение потеряет все данные, связанные с пользователем, когда истечет срок его текущей сессии.
Однако, если вы хотите хранить какие-либо данные в отношении ваших пользователей, например, сколько раз он входил в систему, какой язык он предпочитает, постоянные настройки или что-либо, что не хранится в провайдере, вы должны создать свою локальную учетную запись пользователя.
Ваш первый вопрос: Да, Facebook аутентифицируется каждый раз, когда пользователь хочет войти в систему, если не предусмотрен другой процесс аутентификации.
Ваш второй вопрос: зависит от того, хотите ли вы хранить пользовательские данные дольше, чем продолжительность сеанса (пользовательские данные, которые не взяты у провайдера).