В настоящее время я пытаюсь разрешить пользователям входить в мое Vue. js приложение через Twitter-аутентификацию. По сути это код , который я использую. Каждый раз, когда я нажимаю кнопку входа в Twitter, я получаю эту проблему:
Повар ie, связанный с межсайтовым ресурсом в http://google.com/, был установлен без SameSite
атрибут. В будущем выпуске Chrome будут доставляться файлы cookie с межсайтовыми запросами, только если они установлены с SameSite=None
и Secure
. Вы можете просмотреть файлы cookie в инструментах разработчика в разделе «Приложения»> «Хранилище»> «Файлы cookie» и получить дополнительную информацию по https://www.chromestatus.com/feature/5088147346030592 и https://www.chromestatus.com/feature/5633521622188032.
Любая идея как как я могу решить это? Любая помощь будет принята с благодарностью. Я чувствую, что эти две части кода могут быть проблемой, но я не уверен.
store. js
import Vue from 'vue'
import Vuex from 'vuex'
import * as firebase from 'firebase/app'
Vue.use(Vuex)
export const store = new Vuex.Store({
state: {
user: null
},
getters: {
user (state) {
return state.user
}
},
mutations: {
SET_USER (state, payload) {
state.user = payload
},
LOGOUT (state, payload) {
state.user = null
}
},
actions: {
autoSignIn({ commit }, payload) {
const newUser = {
userDetails: payload.providerData
}
commit('SET_USER', newUser)
},
signIn({ commit }) {
var provider = new firebase.auth.TwitterAuthProvider();
firebase.auth().signInWithRedirect(provider);
firebase.auth().getRedirectResult().then(result => {
// The signed-in user info.
var user = result.user;
commit('SET_USER', user)
}).catch(error => {
alert(error)
return
})
},
logout({ commit }) {
firebase.auth().signOut().then(function () {
commit('LOGOUT')
}).catch(function (error) {
alert(error)
return
});
}
}
})
main. js
import Vue from 'vue'
import App from './App'
import router from './router'
import {store} from './vuex/store'
import * as firebase from 'firebase/app'
import Vuex from 'vuex'
import {config} from './firebaseConfig'
// Firebase App (the core Firebase SDK) is always required and must be listed first
// If you enabled Analytics in your project, add the Firebase SDK for Analytics
import "firebase/analytics"
// Add the Firebase products that you want to use
import "firebase/auth"
import "firebase/firestore"
Vue.use(Vuex)
Vue.config.productionTip = false
/* eslint-disable no-new */
firebase.initializeApp(config)
const check = firebase.auth().onAuthStateChanged((user) => {
new Vue({
el: '#app',
router,
components: { App },
template: '<App/>',
store,
created() {
if (user) {
store.dispatch('autoSignIn', user)
}
}
})
check()
})