@taruvi/refine-providers 1.3.1 → 1.3.3

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"};
8
+ version: "1.3.3"};
9
9
 
10
10
  // src/utils.ts
11
11
  var REFINE_OPERATOR_MAP = {
@@ -924,27 +924,20 @@ 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
- login: async (params = {}) => {
929
- const { callbackUrl, redirect = true } = params;
930
- if (auth.isUserAuthenticated()) {
931
- return {
932
- success: true,
933
- redirectTo: callbackUrl || "/"
934
- };
935
- }
936
- if (redirect) {
937
- auth.login(callbackUrl);
932
+ login: async () => {
933
+ if (auth.hasToken()) {
938
934
  return {
939
935
  success: true
940
936
  };
941
937
  }
938
+ redirectToLogin();
942
939
  return {
943
- success: false,
944
- error: {
945
- name: "LoginError",
946
- message: "Login failed. Please try again."
947
- }
940
+ success: true
948
941
  };
949
942
  },
950
943
  logout: async (params = {}) => {
@@ -957,19 +950,20 @@ function authProvider(client) {
957
950
  };
958
951
  },
959
952
  check: async () => {
960
- if (!auth.isUserAuthenticated()) {
961
- return { authenticated: false, redirectTo: "/login" };
953
+ if (!auth.hasToken()) {
954
+ return { authenticated: false };
955
+ }
956
+ const isValid = await auth.isUserAuthenticated();
957
+ if (!isValid) {
958
+ return { authenticated: false };
962
959
  }
963
960
  return { authenticated: true };
964
961
  },
965
962
  onError: async (error) => {
966
963
  const status = error?.statusCode || error?.status || error?.response?.status;
967
964
  if (status === 401) {
968
- return {
969
- logout: true,
970
- redirectTo: "/login",
971
- error
972
- };
965
+ redirectToLogin();
966
+ return { error };
973
967
  }
974
968
  if (status === 403) {
975
969
  return { error };