Помимо хранения токена и секрета в вашей базе данных, вы также должны хранить твиттер-идентификатор, чтобы вы могли иметь ссылку на него. Следующий поток должен охватывать все (я думаю):
за каждый логин
проверка, если пользователь уже вошел в систему (например, проверяя, есть ли у вас уже идентификатор твиттера в сеансе),
если пользователь вошел в систему, не нужно проходить через твиттер, просто запросите идентификатор твиттера, чтобы получить токен / секрет, или, возможно, у вас уже есть их в сеансе.
если пользователь еще не вошел в систему, вы пройдете те же самые шаги, чтобы получить твиттер ID, токен и секрет. Затем ваш код должен проверить, существует ли твиттер-идентификатор в вашей БД, если он существует, обновить запись (на случай, если токен будет изменен - не уверен, произойдет ли это, например, когда пользователь отозвал разрешение с момента последнего посещения). Если он не существует, вставьте новую запись и отметьте статус пользователя как вошедшего в систему (например, сохраните где-нибудь идентификатор твиттера (cookie, сеанс))