Test refreshToken fix
This commit is contained in:
parent
2d28f1a21a
commit
595f7f97a1
@ -20,20 +20,49 @@ export default function SubscriptionSuccess() {
|
|||||||
const [customer, setCustomer] = useState<any | null>(null);
|
const [customer, setCustomer] = useState<any | null>(null);
|
||||||
|
|
||||||
const loadSubscription = useCallback(async () => {
|
const loadSubscription = useCallback(async () => {
|
||||||
|
try {
|
||||||
const jwt = JwtService.getInstance().decodeJwt();
|
const jwt = JwtService.getInstance().decodeJwt();
|
||||||
const subscription = await Subscriptions.getInstance().get({ where: { office: { uid: jwt?.office_Id } } });
|
if (!jwt || !jwt.office_Id) {
|
||||||
|
console.error("No valid JWT token found");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const subscription = await Subscriptions.getInstance().get({
|
||||||
|
where: { office: { uid: jwt.office_Id } }
|
||||||
|
});
|
||||||
if (!subscription[0]) return;
|
if (!subscription[0]) return;
|
||||||
|
|
||||||
setSubscription(subscription[0]);
|
setSubscription(subscription[0]);
|
||||||
const customer = await Stripe.getInstance().getCustomerBySubscriptionId(subscription[0].stripe_subscription_id!);
|
const customer = await Stripe.getInstance().getCustomerBySubscriptionId(
|
||||||
|
subscription[0].stripe_subscription_id!
|
||||||
|
);
|
||||||
setCustomer(customer);
|
setCustomer(customer);
|
||||||
|
} catch (error) {
|
||||||
|
console.error("Error loading subscription:", error);
|
||||||
|
}
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
const refreshToken = useCallback(async () => {
|
const refreshToken = useCallback(async () => {
|
||||||
CookieService.getInstance().deleteCookie("leCoffreAccessToken");
|
try {
|
||||||
const refreshToken = CookieService.getInstance().getCookie("leCoffreRefreshToken");
|
const refreshToken = CookieService.getInstance().getCookie("leCoffreRefreshToken");
|
||||||
if (!refreshToken) return;
|
if (!refreshToken) {
|
||||||
await JwtService.getInstance().forceRefreshToken(refreshToken);
|
console.error("No refresh token found");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const success = await JwtService.getInstance().forceRefreshToken(refreshToken);
|
||||||
|
if (!success) {
|
||||||
|
console.error("Failed to refresh token");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Attendre un peu pour s'assurer que le cookie est bien défini
|
||||||
|
await new Promise(resolve => setTimeout(resolve, 100));
|
||||||
|
|
||||||
await loadSubscription();
|
await loadSubscription();
|
||||||
|
} catch (error) {
|
||||||
|
console.error("Error refreshing token:", error);
|
||||||
|
}
|
||||||
}, [loadSubscription]);
|
}, [loadSubscription]);
|
||||||
|
|
||||||
const getFrequency = useCallback(() => {
|
const getFrequency = useCallback(() => {
|
||||||
|
@ -23,16 +23,22 @@ export default class UserStore {
|
|||||||
|
|
||||||
public async connect(accessToken: string, refreshToken: string) {
|
public async connect(accessToken: string, refreshToken: string) {
|
||||||
try {
|
try {
|
||||||
//Save tokens in cookies
|
// Assigner les tokens à l'instance
|
||||||
|
this.accessToken = accessToken;
|
||||||
|
this.refreshToken = refreshToken;
|
||||||
|
|
||||||
|
// Sauvegarder les tokens dans les cookies
|
||||||
CookieService.getInstance().setCookie("leCoffreAccessToken", accessToken);
|
CookieService.getInstance().setCookie("leCoffreAccessToken", accessToken);
|
||||||
CookieService.getInstance().setCookie("leCoffreRefreshToken", refreshToken);
|
CookieService.getInstance().setCookie("leCoffreRefreshToken", refreshToken);
|
||||||
|
|
||||||
this.event.emit("connection", this.accessToken);
|
this.event.emit("connection", this.accessToken);
|
||||||
|
return true;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(error);
|
console.error("Error connecting user:", error);
|
||||||
|
this.accessToken = null;
|
||||||
|
this.refreshToken = null;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public async disconnect() {
|
public async disconnect() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user