Сохранять пользователей вошедшими в систему с помощью аутентификации Knox Token Authentication django

Я с трудом пытаюсь разобраться в этом.

Я пытаюсь использовать django rest api knox token authentication и React.

Вот как выглядит мой код в Authenticate.js

export function LoginComponent (props) {
    const [state, setState] = useState({credentials : {username: '',password: '',}})   
    const [hasLoggedIn, setHasLoggedIn] = useState(false) 
    const Login = (event) => {
        event.preventDefault()
        fetch("http://127.0.0.1:8000/users/accounts/api/auth/login",{
        method: "POST", 
        headers: {'Content-Type': 'application/json'},
        body: JSON.stringify(state.credentials)
        })
        .then( data => data.json()).then(
            data => {
                console.log(data.token)
                props.userLogin(data.token)
            }
        )
        .then(
            console.log(hasLoggedIn),
            setHasLoggedIn(true),
            props.LoggedIn(hasLoggedIn))
        .catch(error => console.error())
      }
    const Register = (event) => {
        fetch("http://127.0.0.1:8000/users/accounts/api/auth/register",{
        method: "POST", 
        headers: {'Content-Type': 'application/json'},
        body: JSON.stringify(state.credentials)
        }).then( data => data.json()).then(
            data => {
                console.log(data.token)
            }
        ).catch(error => console.error())
    }
    const inputChanged = (event) =>{
        const cred = state.credentials;
        cred[event.target.name] = event.target.value
        setState({credentials: cred})
    }
    return (
        <div>
            <label>
                Username:
                <input type='text' name='username'
                value={state.credentials.username} 
                onChange={inputChanged}
                />
            </label>
            <br/>
            <label>
                Password:
                <input type='password' name='password'
                value={state.credentials.password} 
                onChange={inputChanged}
                />
            </label>
            <br/>
            <button onClick={Login}>Login</button>
            <button onClick={Register}>Register</button>
        </div>
        )
}

Это код, который я сделал из видео на youtube. Проблема возникает при попытке сохранить аутентификацию пользователей, если вы обновите этот код, вы потеряете токен, что означает, что вам придется войти снова.

Могу ли я как-то использовать аутентификацию сеанса Django с токенами?

Любая помощь будет принята с благодарностью. Заранее спасибо!

Вернуться на верх