Fix setting active side panel item on page reload
[arvados-workbench2.git] / src / store / auth / auth-action.ts
index 6b81c31796a41dce91cce146f560978cd5510d56..00af5ce5b0bb7614f4fbc97316a61dd712759ba3 100644 (file)
@@ -4,9 +4,9 @@
 
 import { ofType, default as unionize, UnionOf } from "unionize";
 import { Dispatch } from "redux";
-import { User } from "../../models/user";
+import { User } from "~/models/user";
 import { RootState } from "../store";
-import { ServiceRepository } from "../../services/services";
+import { ServiceRepository } from "~/services/services";
 import { AxiosInstance } from "axios";
 
 export const authActions = unionize({
@@ -21,8 +21,11 @@ export const authActions = unionize({
     value: 'payload'
 });
 
-function setAuthorizationHeader(client: AxiosInstance, token: string) {
-    client.defaults.headers.common = {
+function setAuthorizationHeader(services: ServiceRepository, token: string) {
+    services.apiClient.defaults.headers.common = {
+        Authorization: `OAuth2 ${token}`
+    };
+    services.webdavClient.defaults.headers = {
         Authorization: `OAuth2 ${token}`
     };
 }
@@ -35,7 +38,7 @@ export const initAuth = () => (dispatch: Dispatch, getState: () => RootState, se
     const user = services.authService.getUser();
     const token = services.authService.getApiToken();
     if (token) {
-        setAuthorizationHeader(services.apiClient, token);
+        setAuthorizationHeader(services, token);
     }
     if (token && user) {
         dispatch(authActions.INIT({ user, token }));
@@ -44,7 +47,7 @@ export const initAuth = () => (dispatch: Dispatch, getState: () => RootState, se
 
 export const saveApiToken = (token: string) => (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
     services.authService.saveApiToken(token);
-    setAuthorizationHeader(services.apiClient, token);
+    setAuthorizationHeader(services, token);
     dispatch(authActions.SAVE_API_TOKEN(token));
 };