@ethlete/query 0.1.0-next.17 → 0.1.0-next.19
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/esm2020/lib/auth/auth-provider.types.mjs +1 -1
- package/esm2020/lib/auth/bearer-auth-provider.mjs +63 -22
- package/esm2020/lib/directives/infinity-query.directive.mjs +2 -2
- package/fesm2015/ethlete-query.mjs +71 -28
- package/fesm2015/ethlete-query.mjs.map +1 -1
- package/fesm2020/ethlete-query.mjs +64 -23
- package/fesm2020/ethlete-query.mjs.map +1 -1
- package/lib/auth/auth-provider.types.d.ts +13 -4
- package/lib/auth/bearer-auth-provider.d.ts +6 -3
- package/package.json +1 -1
|
@@ -57,6 +57,11 @@ export interface BearerRefreshConfig<T extends AnyQueryCreator> {
|
|
|
57
57
|
* The cookie name where the refresh token is stored
|
|
58
58
|
*/
|
|
59
59
|
cookieName?: string;
|
|
60
|
+
/**
|
|
61
|
+
* Enable or disable the cookie
|
|
62
|
+
* @default true
|
|
63
|
+
*/
|
|
64
|
+
cookieEnabled?: boolean;
|
|
60
65
|
/**
|
|
61
66
|
* The time in milliseconds before the token expires when the refresh should be triggered.
|
|
62
67
|
* @default 300000 (5 minutes)
|
|
@@ -76,16 +81,20 @@ export interface BearerRefreshConfig<T extends AnyQueryCreator> {
|
|
|
76
81
|
* Adapter function used to build the request body for the refresh request.
|
|
77
82
|
* @default { body: { refreshToken: "refreshToken" } }
|
|
78
83
|
*/
|
|
79
|
-
requestArgsAdapter?: (
|
|
84
|
+
requestArgsAdapter?: (tokens: {
|
|
85
|
+
token: string | null;
|
|
86
|
+
refreshToken: string;
|
|
87
|
+
}) => QueryCreatorArgs<T>;
|
|
80
88
|
/**
|
|
81
89
|
* Adapter function used to extract the token and refreshToken from the response.
|
|
82
90
|
* @default { token: "token", refreshToken: "refreshToken" }
|
|
83
91
|
*/
|
|
84
|
-
responseAdapter?: (response: QueryResponseType<QueryCreatorReturnType<T
|
|
92
|
+
responseAdapter?: (response: NonNullable<QueryResponseType<QueryCreatorReturnType<T>>>) => TokenResponse;
|
|
85
93
|
}
|
|
86
94
|
export declare const enum AuthBearerRefreshStrategy {
|
|
87
95
|
/**
|
|
88
96
|
* Automatically refresh the token 5 minutes before expiration.
|
|
97
|
+
* The time can be configured with the `refreshBuffer` property.
|
|
89
98
|
*/
|
|
90
99
|
BeforeExpiration = "beforeExpiration"
|
|
91
100
|
}
|
|
@@ -93,10 +102,10 @@ export interface TokenResponse {
|
|
|
93
102
|
/**
|
|
94
103
|
* The access token used inside the authorization http header.
|
|
95
104
|
*/
|
|
96
|
-
token: string;
|
|
105
|
+
token: string | null;
|
|
97
106
|
/**
|
|
98
107
|
* The refresh token used for requesting a new token response once the current tokes is expired.
|
|
99
108
|
* This property is required if the bearer refresh config is set.
|
|
100
109
|
*/
|
|
101
|
-
refreshToken
|
|
110
|
+
refreshToken: string | null;
|
|
102
111
|
}
|
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
import { AnyQueryCreator } from '../query-client';
|
|
2
|
-
import { AuthProvider, AuthProviderBearerConfig } from './auth-provider.types';
|
|
2
|
+
import { AuthProvider, AuthProviderBearerConfig, TokenResponse } from './auth-provider.types';
|
|
3
3
|
export declare class BearerAuthProvider<T extends AnyQueryCreator> implements AuthProvider {
|
|
4
4
|
private _config;
|
|
5
5
|
private readonly _destroy$;
|
|
6
6
|
private readonly _currentRefreshQuery$;
|
|
7
|
-
private
|
|
8
|
-
private _refreshToken;
|
|
7
|
+
private readonly _tokens$;
|
|
9
8
|
get header(): {
|
|
10
9
|
Authorization: string;
|
|
11
10
|
};
|
|
11
|
+
get tokens$(): import("rxjs").Observable<TokenResponse>;
|
|
12
|
+
get tokens(): TokenResponse;
|
|
12
13
|
get currentRefreshQuery$(): import("rxjs").Observable<ReturnType<T["prepare"]> | null>;
|
|
13
14
|
get currentRefreshQuery(): ReturnType<T["prepare"]> | null;
|
|
14
15
|
constructor(_config: AuthProviderBearerConfig<T>);
|
|
15
16
|
cleanUp(): void;
|
|
17
|
+
enableCookie(): void;
|
|
18
|
+
disableCookie(): void;
|
|
16
19
|
private _prepareForRefresh;
|
|
17
20
|
private _refreshQuery;
|
|
18
21
|
}
|