Skip to content

Instantly share code, notes, and snippets.

@ApenasGabs
Created February 26, 2024 22:54
Show Gist options
  • Save ApenasGabs/a4e93a1a2ccbad108c5d16f479ed9b62 to your computer and use it in GitHub Desktop.
Save ApenasGabs/a4e93a1a2ccbad108c5d16f479ed9b62 to your computer and use it in GitHub Desktop.
import { useState } from "react";
import Cookies from "js-cookie";
const getToken = (): string | null => {
const userToken = Cookies.get("token");
return userToken ? userToken : null;
};
const useToken = () => {
const [token, setToken] = useState<string | null>(getToken());
const saveToken = (userToken: string | null) => {
if (typeof userToken === "string") {
// Aqui, você pode definir opções adicionais para o cookie, como `expires` e `secure`.
Cookies.set("token", userToken, { expires: 1, secure: true, sameSite: 'strict' }); // `expires` é em dias
setToken(userToken);
}
};
const removeToken = () => {
Cookies.remove("token");
setToken(null);
};
return {
setToken: saveToken,
token,
removeToken,
};
};
export default useToken;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment