@vunexa/lixa 0.0.1-alpha.8 → 0.0.1-alpha.9
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/lixa.d.ts +9 -7
- package/dist/lixa.d.ts.map +1 -1
- package/dist/lixa.js +10 -14
- package/dist/lixa.js.map +1 -1
- package/index.d.ts +9 -7
- package/package.json +1 -1
package/dist/lixa.d.ts
CHANGED
|
@@ -38,19 +38,21 @@ declare class Lixa<TConfig extends LixaConfig = LixaConfig> {
|
|
|
38
38
|
*/
|
|
39
39
|
constructor(config: TConfig);
|
|
40
40
|
/**
|
|
41
|
-
* Checks if a provider is registered and
|
|
41
|
+
* Checks if a provider is both registered and configured for this instance.
|
|
42
|
+
* This is a type guard that narrows the provider type for use with getAuthUrl.
|
|
42
43
|
*
|
|
43
44
|
* @param provider - The provider name to check (case-insensitive)
|
|
44
|
-
* @returns True if the provider is registered, false otherwise
|
|
45
|
+
* @returns True if the provider is registered and configured, false otherwise
|
|
45
46
|
*
|
|
46
47
|
* @example
|
|
47
48
|
* ```typescript
|
|
48
|
-
* if (
|
|
49
|
-
*
|
|
49
|
+
* if (lixa.isProviderConfigured(provider)) {
|
|
50
|
+
* // TypeScript now knows provider is a valid ConfiguredProviderKey
|
|
51
|
+
* const authUrl = lixa.getAuthUrl(provider, state);
|
|
50
52
|
* }
|
|
51
53
|
* ```
|
|
52
54
|
*/
|
|
53
|
-
|
|
55
|
+
isProviderConfigured<T extends string>(provider: T): provider is T & ConfiguredProviderKey<TConfig>;
|
|
54
56
|
/**
|
|
55
57
|
* Registers custom OAuth providers for use with Lixa.
|
|
56
58
|
*
|
|
@@ -105,7 +107,7 @@ declare class Lixa<TConfig extends LixaConfig = LixaConfig> {
|
|
|
105
107
|
* res.redirect(authUrl);
|
|
106
108
|
* ```
|
|
107
109
|
*/
|
|
108
|
-
getAuthUrl(provider: ConfiguredProviderKey<TConfig
|
|
110
|
+
getAuthUrl(provider: ConfiguredProviderKey<TConfig> | string, state: string): string;
|
|
109
111
|
/**
|
|
110
112
|
* Handles the OAuth callback and creates a user session.
|
|
111
113
|
*
|
|
@@ -126,7 +128,7 @@ declare class Lixa<TConfig extends LixaConfig = LixaConfig> {
|
|
|
126
128
|
* ```
|
|
127
129
|
*/
|
|
128
130
|
handleCallback({ provider, code, state, }: {
|
|
129
|
-
provider: ConfiguredProviderKey<TConfig
|
|
131
|
+
provider: ConfiguredProviderKey<TConfig> | string;
|
|
130
132
|
code: string;
|
|
131
133
|
state?: string;
|
|
132
134
|
}): Promise<Session>;
|
package/dist/lixa.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lixa.d.ts","sourceRoot":"","sources":["../src/lixa.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAuB,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"lixa.d.ts","sourceRoot":"","sources":["../src/lixa.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAuB,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAKxC;;GAEG;AACH,KAAK,qBAAqB,CAAC,CAAC,SAAS,UAAU,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC;AAExE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,cAAM,IAAI,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU;IAChD,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAqC;IACxE,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAyB;IACzD,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,QAAQ,CAAW;IAE3B;;;;OAIG;gBACS,MAAM,EAAE,OAAO;IAK3B;;;;;;;;;;;;;;OAcG;IACI,oBAAoB,CAAC,CAAC,SAAS,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,QAAQ,IAAI,CAAC,GAAG,qBAAqB,CAAC,OAAO,CAAC;IAM1G;;;;;;;;;;;;;;;OAeG;WACW,gBAAgB,CAAC,WAAW,EAAE;QAC1C,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;KAC1B,GAAG,IAAI;IAQR;;;;;;;OAOG;WACW,mBAAmB,IAAI,MAAM;IAI3C;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAInC,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAUjC;;;;;;;;;;;;;;;OAeG;IACI,UAAU,CAAC,QAAQ,EAAE,qBAAqB,CAAC,OAAO,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAsC3F;;;;;;;;;;;;;;;;;;OAkBG;IACU,cAAc,CAAC,EAC1B,QAAQ,EACR,IAAI,EACJ,KAAK,GACN,EAAE;QACD,QAAQ,EAAE,qBAAqB,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC;QAClD,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,OAAO,CAAC;YAmDN,oBAAoB;IAsClC,OAAO,CAAC,kBAAkB;CAG3B;AAED,OAAO,EAAE,IAAI,EAAE,CAAC"}
|
package/dist/lixa.js
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { randomBytes } from "crypto";
|
|
2
|
-
import { GithubProvider, GoogleProvider } from "./providers";
|
|
3
|
-
import { GITHUB, GOOGLE } from "./utils/constants";
|
|
4
2
|
import { LocalStateCache } from "./dao/state-cache";
|
|
5
3
|
import crypto from "crypto";
|
|
6
4
|
/**
|
|
@@ -38,28 +36,26 @@ class Lixa {
|
|
|
38
36
|
constructor(config) {
|
|
39
37
|
this.config = config;
|
|
40
38
|
this.stateDao = config.stateDao || Lixa.LOCAL_STATE_CACHE;
|
|
41
|
-
if (!Lixa.CONFIGURED_PROVIDERS.has(GITHUB)) {
|
|
42
|
-
Lixa.CONFIGURED_PROVIDERS.set(GITHUB, new GithubProvider());
|
|
43
|
-
}
|
|
44
|
-
if (!Lixa.CONFIGURED_PROVIDERS.has(GOOGLE)) {
|
|
45
|
-
Lixa.CONFIGURED_PROVIDERS.set(GOOGLE, new GoogleProvider());
|
|
46
|
-
}
|
|
47
39
|
}
|
|
48
40
|
/**
|
|
49
|
-
* Checks if a provider is registered and
|
|
41
|
+
* Checks if a provider is both registered and configured for this instance.
|
|
42
|
+
* This is a type guard that narrows the provider type for use with getAuthUrl.
|
|
50
43
|
*
|
|
51
44
|
* @param provider - The provider name to check (case-insensitive)
|
|
52
|
-
* @returns True if the provider is registered, false otherwise
|
|
45
|
+
* @returns True if the provider is registered and configured, false otherwise
|
|
53
46
|
*
|
|
54
47
|
* @example
|
|
55
48
|
* ```typescript
|
|
56
|
-
* if (
|
|
57
|
-
*
|
|
49
|
+
* if (lixa.isProviderConfigured(provider)) {
|
|
50
|
+
* // TypeScript now knows provider is a valid ConfiguredProviderKey
|
|
51
|
+
* const authUrl = lixa.getAuthUrl(provider, state);
|
|
58
52
|
* }
|
|
59
53
|
* ```
|
|
60
54
|
*/
|
|
61
|
-
|
|
62
|
-
|
|
55
|
+
isProviderConfigured(provider) {
|
|
56
|
+
const providerType = provider.toLowerCase();
|
|
57
|
+
return Lixa.CONFIGURED_PROVIDERS.has(providerType) &&
|
|
58
|
+
this.config.providers.hasOwnProperty(providerType);
|
|
63
59
|
}
|
|
64
60
|
/**
|
|
65
61
|
* Registers custom OAuth providers for use with Lixa.
|
package/dist/lixa.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lixa.js","sourceRoot":"","sources":["../src/lixa.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"lixa.js","sourceRoot":"","sources":["../src/lixa.ts"],"names":[],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -63,19 +63,21 @@ export declare class Lixa<TConfig extends LixaConfig = LixaConfig> {
|
|
|
63
63
|
*/
|
|
64
64
|
constructor(config: TConfig);
|
|
65
65
|
/**
|
|
66
|
-
* Checks if a provider is registered and
|
|
66
|
+
* Checks if a provider is both registered and configured for this instance.
|
|
67
|
+
* This is a type guard that narrows the provider type for use with getAuthUrl.
|
|
67
68
|
*
|
|
68
69
|
* @param provider - The provider name to check (case-insensitive)
|
|
69
|
-
* @returns True if the provider is registered, false otherwise
|
|
70
|
+
* @returns True if the provider is registered and configured, false otherwise
|
|
70
71
|
*
|
|
71
72
|
* @example
|
|
72
73
|
* ```typescript
|
|
73
|
-
* if (
|
|
74
|
-
*
|
|
74
|
+
* if (lixa.isProviderConfigured(provider)) {
|
|
75
|
+
* // TypeScript now knows provider is a valid ConfiguredProviderKey
|
|
76
|
+
* const authUrl = lixa.getAuthUrl(provider, state);
|
|
75
77
|
* }
|
|
76
78
|
* ```
|
|
77
79
|
*/
|
|
78
|
-
|
|
80
|
+
isProviderConfigured<T extends string>(provider: T): provider is T & ConfiguredProviderKey<TConfig>;
|
|
79
81
|
/**
|
|
80
82
|
* Registers custom OAuth providers for use with Lixa.
|
|
81
83
|
*
|
|
@@ -130,7 +132,7 @@ export declare class Lixa<TConfig extends LixaConfig = LixaConfig> {
|
|
|
130
132
|
* res.redirect(authUrl);
|
|
131
133
|
* ```
|
|
132
134
|
*/
|
|
133
|
-
getAuthUrl(provider: ConfiguredProviderKey<TConfig
|
|
135
|
+
getAuthUrl(provider: ConfiguredProviderKey<TConfig> | string, state: string): string;
|
|
134
136
|
/**
|
|
135
137
|
* Handles the OAuth callback and creates a user session.
|
|
136
138
|
*
|
|
@@ -151,7 +153,7 @@ export declare class Lixa<TConfig extends LixaConfig = LixaConfig> {
|
|
|
151
153
|
* ```
|
|
152
154
|
*/
|
|
153
155
|
handleCallback({ provider, code, state, }: {
|
|
154
|
-
provider: ConfiguredProviderKey<TConfig
|
|
156
|
+
provider: ConfiguredProviderKey<TConfig> | string;
|
|
155
157
|
code: string;
|
|
156
158
|
state?: string;
|
|
157
159
|
}): Promise<Session>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vunexa/lixa",
|
|
3
|
-
"version": "0.0.1-alpha.
|
|
3
|
+
"version": "0.0.1-alpha.9",
|
|
4
4
|
"description": "Lixa is a flexible, provider-agnostic OAuth and OpenID Connect (OIDC) client library that simplifies multi-provider authentication flows. It supports seamless integration with providers like Google and GitHub, offers extensible session management, and enables dynamic provider resolution based on callback URLs.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"oauth",
|