@taruvi/refine-providers 1.3.1-beta.0 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -94,16 +94,11 @@ declare function functionsDataProvider(client: Client): DataProvider;
94
94
  declare function analyticsDataProvider(client: Client): DataProvider;
95
95
 
96
96
  /**
97
- * Login params - supports both redirect flow and credentials flow
97
+ * Login params
98
98
  */
99
99
  interface LoginParams {
100
- /** For redirect-based login - URL to redirect after successful login */
100
+ /** URL to redirect after successful login */
101
101
  callbackUrl?: string;
102
- /** For credentials-based login (if supported) */
103
- username?: string;
104
- password?: string;
105
- /** Whether to use redirect flow (default: true) */
106
- redirect?: boolean;
107
102
  }
108
103
  /**
109
104
  * Logout params
@@ -123,11 +118,10 @@ declare let _cachedUser: Record<string, any> | null;
123
118
  /**
124
119
  * Creates a Refine AuthProvider for Taruvi authentication.
125
120
  *
126
- * Supports redirect-based authentication flow (Web UI Flow):
121
+ * Uses redirect-based Web UI Flow:
127
122
  * 1. User calls login() → Redirects to backend /accounts/login/
128
123
  * 2. User authenticates on backend
129
- * 3. Backend redirects back with tokens in URL hash
130
- * 4. Client extracts and stores tokens automatically
124
+ * 3. Backend redirects back and sets session token
131
125
  */
132
126
  declare function authProvider(client: Client): AuthProvider;
133
127
 
package/dist/index.d.ts CHANGED
@@ -94,16 +94,11 @@ declare function functionsDataProvider(client: Client): DataProvider;
94
94
  declare function analyticsDataProvider(client: Client): DataProvider;
95
95
 
96
96
  /**
97
- * Login params - supports both redirect flow and credentials flow
97
+ * Login params
98
98
  */
99
99
  interface LoginParams {
100
- /** For redirect-based login - URL to redirect after successful login */
100
+ /** URL to redirect after successful login */
101
101
  callbackUrl?: string;
102
- /** For credentials-based login (if supported) */
103
- username?: string;
104
- password?: string;
105
- /** Whether to use redirect flow (default: true) */
106
- redirect?: boolean;
107
102
  }
108
103
  /**
109
104
  * Logout params
@@ -123,11 +118,10 @@ declare let _cachedUser: Record<string, any> | null;
123
118
  /**
124
119
  * Creates a Refine AuthProvider for Taruvi authentication.
125
120
  *
126
- * Supports redirect-based authentication flow (Web UI Flow):
121
+ * Uses redirect-based Web UI Flow:
127
122
  * 1. User calls login() → Redirects to backend /accounts/login/
128
123
  * 2. User authenticates on backend
129
- * 3. Backend redirects back with tokens in URL hash
130
- * 4. Client extracts and stores tokens automatically
124
+ * 3. Backend redirects back and sets session token
131
125
  */
132
126
  declare function authProvider(client: Client): AuthProvider;
133
127
 
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@ import DataLoader from 'dataloader';
5
5
 
6
6
  // package.json
7
7
  var package_default = {
8
- version: "1.3.1-beta.0"};
8
+ version: "1.3.2"};
9
9
 
10
10
  // src/utils.ts
11
11
  var REFINE_OPERATOR_MAP = {
@@ -924,27 +924,22 @@ function analyticsDataProvider(client) {
924
924
  var _cachedUser = null;
925
925
  function authProvider(client) {
926
926
  const auth = new Auth(client);
927
+ function redirectToLogin() {
928
+ _cachedUser = null;
929
+ auth.login();
930
+ }
927
931
  return {
928
932
  login: async (params = {}) => {
929
- const { callbackUrl, redirect = true } = params;
930
- if (auth.isUserAuthenticated()) {
933
+ const { callbackUrl } = params;
934
+ if (auth.hasToken()) {
931
935
  return {
932
936
  success: true,
933
937
  redirectTo: callbackUrl || "/"
934
938
  };
935
939
  }
936
- if (redirect) {
937
- auth.login(callbackUrl);
938
- return {
939
- success: true
940
- };
941
- }
940
+ auth.login(callbackUrl);
942
941
  return {
943
- success: false,
944
- error: {
945
- name: "LoginError",
946
- message: "Login failed. Please try again."
947
- }
942
+ success: true
948
943
  };
949
944
  },
950
945
  logout: async (params = {}) => {
@@ -957,19 +952,22 @@ function authProvider(client) {
957
952
  };
958
953
  },
959
954
  check: async () => {
960
- if (!auth.isUserAuthenticated()) {
961
- return { authenticated: false, redirectTo: "/login" };
955
+ if (!auth.hasToken()) {
956
+ redirectToLogin();
957
+ return { authenticated: false };
958
+ }
959
+ const isValid = await auth.isUserAuthenticated();
960
+ if (!isValid) {
961
+ redirectToLogin();
962
+ return { authenticated: false };
962
963
  }
963
964
  return { authenticated: true };
964
965
  },
965
966
  onError: async (error) => {
966
967
  const status = error?.statusCode || error?.status || error?.response?.status;
967
968
  if (status === 401) {
968
- return {
969
- logout: true,
970
- redirectTo: "/login",
971
- error
972
- };
969
+ redirectToLogin();
970
+ return { error };
973
971
  }
974
972
  if (status === 403) {
975
973
  return { error };