Хотите удалить токен fb auth при выходе из fb im моего приложения

Я сохраняю токен доступа FB при входе в свое веб-приложение с помощью fb и сохраняю токен в localStorage Я хочу удалить токен FB из localStorage при выходе из Facebook

import React, { Component } from 'react';
import FacebookLogin from 'react-facebook-login';
import {Button} from 'reactstrap' 
import axios from 'axios';

class App extends Component {

    constructor() {
        super();      if(localStorage.getItem('isAuthenticated')&&localStorage.getItem(fbtoken)){
            this.state = { isAuthenticated: true, user:localStorage.getItem('name')};
        }
        else{
            this.state = { isAuthenticated: false, user:''}
        }
    }
    logout = () => {
      localStorage.setItem('token',null);
      localStorage.setItem('name',null);
      localStorage.setItem('isAuthenticated',false)
      this.setState({isAuthenticated: false})
    };
    
    facebookResponse = (e) => {
        console.log(e);
        var data={
            fb_id:e.email,
            fb_token:e.accessToken
        } 
        if(e.accessToken){
            axios.post('http://localhost:4007/loginn',data).then((res)=>{
                if(res.status===200){
                    localStorage.setItem('token',res.data.token);
                    localStorage.setItem('name',res.data.name);
                    localStorage.setItem('isAuthenticated',true);
                    localStorage.setItem('fbtoken',e.accessToken);
                    //this.forceUpdate();   
                    this.setState({isAuthenticated: true})
                }
                else{
                    alert('wrong email');
                }
            })
            .catch((err)=>{
                console.log('hahah');
            })
        }
    };

    onFailure = (error) => {
      alert(error);
    }
    render() {
        let content = !!this.state.isAuthenticated?
            (
                <div>
                    <p>Authenticated</p>
                    <div>
                        {localStorage.getItem('name')}
                    </div>
                    <div>
                        <button onClick={this.logout} className="button">
                            Log out
                        </button>
                    </div>
                </div>
            ) :
            (
                <div>
                    <FacebookLogin
                        appId="*************"
                        autoLoad={false}
                        fields="name,email,picture"
                        callback={this.facebookResponse} />
                </div>
            );

        return (
            <div className="App">
                {content}
            </div>
        );
    }
}

export default App;

Я хочу, чтобы токен FB был удален из localStorage, когда я выхожу из FB из моего браузера. Мне нужно снова войти в систему, чтобы получить доступ к моему веб-приложению. Спасибо за помощь

/** он попросил меня написать больше текста, поэтому я пишу больше текста, пожалуйста, не заставляйте меня писать больше текста, у меня больше нет проблем, пожалуйста, не делайте этого. **/

0 ответов

Другие вопросы по тегам