Следуя документации Firebase по Аутентификация Twitter , мы получаем что-то вроде этого:
<script src="https://www.gstatic.com/firebasejs/5.0.4/firebase-app.js"> </script>
<script src="https://www.gstatic.com/firebasejs/5.0.4/firebase-auth.js"></script>
<script>
// NOTE: pseudo code
// initialise the app
firebase.initializeApp({
apiKey: "API_KEY",
authDomain: "AUTH_DOMAIN",
databaseURL: "DATABASE_URL",
projectId: "PROJECT_ID",
storageBucket: "STORAGE_BUCKET",
messagingSenderId: "MESSAGING_SENDER_ID"
});
// create Twitter provider
provider = new firebase.auth.TwitterAuthProvider();
// auth with popup
firebase.auth().signInWithPopup(provider).then(function(result) {
// in theory we could now access the OAuth token so we can make further requests to the Twitter API.
var token = result.credential.accessToken;
var secret = result.credential.secret;
});
Пока все хорошо.Мы можем получить доступ к токену и секрету и сделать любой запрос к Twitter API.
Также в документации есть ссылка на метод firebase.auth().currentUser
, который мы можем вызвать после обновления страницы (например).В этом объекте у нас есть доступ к некоторой информации, ранее полученной при первом входе в систему, однако мы не можем получить доступ ни к OAuth-токену, ни к секрету.
Существует дополнительная документация, касающаяся сохранения состояния аутентификации, где упоминаются некоторые другие методы, такие как firebase.auth().setPersistence(firebase.auth.Auth.Persistence.LOCAL)
который, я думаю, это то, что мне нужно.Однако я до сих пор не могу получить доступ ни к токену, ни к секрету.
Предполагается ли хранить его в файле cookie или записи localStorage при первом входе пользователя в систему?Это даже безопасно?Буду признателен за любую помощь, поскольку я не хочу заставлять своих пользователей входить в твиттер каждый раз, когда они закрывают сайт и открывают его снова.
Спасибо