Skip to content

Commit d9f5bb8

Browse files
authored
Merge pull request #121 from wafflestudio/dev
Merge pull request #120 from wafflestudio/fix/social-login
2 parents a79ce99 + b9a5603 commit d9f5bb8

3 files changed

Lines changed: 18 additions & 5 deletions

File tree

src/api/auth.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,10 @@ export const refresh = async () => {
6868
return user;
6969
};
7070

71+
export const establishSession = async () => {
72+
await api.post("/auth/session");
73+
};
74+
7175
// health check
7276
export const healthCheck = async () => {
7377
const res = await api.get("/health");

src/api/axios.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,12 @@ api.interceptors.request.use(
2828
(config) => {
2929
const url = config.url ?? "";
3030

31-
const isAuthApi =
31+
const skipsAuthorizationHeader =
3232
url.includes("/auth/login") ||
3333
url.includes("/auth/register") ||
3434
url.includes("/auth/refresh");
3535

36-
if (isAuthApi) {
36+
if (skipsAuthorizationHeader) {
3737
delete config.headers.Authorization;
3838
return config;
3939
}
@@ -56,12 +56,13 @@ api.interceptors.response.use(
5656
const originalRequest = error.config;
5757
const url = originalRequest?.url ?? "";
5858

59-
const isAuthApi =
59+
const skipsRefreshRecovery =
6060
url.includes("/auth/login") ||
6161
url.includes("/auth/register") ||
62-
url.includes("/auth/refresh");
62+
url.includes("/auth/refresh") ||
63+
url.includes("/auth/session");
6364

64-
if (isAuthApi) {
65+
if (skipsRefreshRecovery) {
6566
return Promise.reject(error);
6667
}
6768

src/contexts/AuthProvider.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,14 @@ export const AuthProvider = ({ children }: { children: ReactNode }) => {
112112
const completeSocialLogin = useCallback(async (accessToken: string) => {
113113
try {
114114
TokenService.setToken(accessToken);
115+
try {
116+
await auth.establishSession();
117+
} catch (sessionError) {
118+
console.warn(
119+
"Session cookie issuance failed after social login:",
120+
sessionError,
121+
);
122+
}
115123
const userData = await auth.getUser();
116124
setUser(userData);
117125
setIsAuthenticated(true);

0 commit comments

Comments
 (0)