@_mustachio/openauth 0.6.0
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/esm/client.js +186 -0
- package/dist/esm/css.d.js +0 -0
- package/dist/esm/error.js +73 -0
- package/dist/esm/index.js +14 -0
- package/dist/esm/issuer.js +558 -0
- package/dist/esm/jwt.js +16 -0
- package/dist/esm/keys.js +113 -0
- package/dist/esm/pkce.js +35 -0
- package/dist/esm/provider/apple.js +28 -0
- package/dist/esm/provider/arctic.js +43 -0
- package/dist/esm/provider/code.js +58 -0
- package/dist/esm/provider/cognito.js +16 -0
- package/dist/esm/provider/discord.js +15 -0
- package/dist/esm/provider/facebook.js +24 -0
- package/dist/esm/provider/github.js +15 -0
- package/dist/esm/provider/google.js +25 -0
- package/dist/esm/provider/index.js +3 -0
- package/dist/esm/provider/jumpcloud.js +15 -0
- package/dist/esm/provider/keycloak.js +15 -0
- package/dist/esm/provider/linkedin.js +15 -0
- package/dist/esm/provider/m2m.js +17 -0
- package/dist/esm/provider/microsoft.js +24 -0
- package/dist/esm/provider/oauth2.js +119 -0
- package/dist/esm/provider/oidc.js +69 -0
- package/dist/esm/provider/passkey.js +315 -0
- package/dist/esm/provider/password.js +306 -0
- package/dist/esm/provider/provider.js +10 -0
- package/dist/esm/provider/slack.js +15 -0
- package/dist/esm/provider/spotify.js +15 -0
- package/dist/esm/provider/twitch.js +15 -0
- package/dist/esm/provider/x.js +16 -0
- package/dist/esm/provider/yahoo.js +15 -0
- package/dist/esm/random.js +27 -0
- package/dist/esm/storage/aws.js +39 -0
- package/dist/esm/storage/cloudflare.js +42 -0
- package/dist/esm/storage/dynamo.js +116 -0
- package/dist/esm/storage/memory.js +88 -0
- package/dist/esm/storage/storage.js +36 -0
- package/dist/esm/subject.js +7 -0
- package/dist/esm/ui/base.js +407 -0
- package/dist/esm/ui/code.js +151 -0
- package/dist/esm/ui/form.js +43 -0
- package/dist/esm/ui/icon.js +92 -0
- package/dist/esm/ui/passkey.js +329 -0
- package/dist/esm/ui/password.js +338 -0
- package/dist/esm/ui/select.js +187 -0
- package/dist/esm/ui/theme.js +115 -0
- package/dist/esm/util.js +54 -0
- package/dist/types/client.d.ts +466 -0
- package/dist/types/client.d.ts.map +1 -0
- package/dist/types/error.d.ts +77 -0
- package/dist/types/error.d.ts.map +1 -0
- package/dist/types/index.d.ts +20 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/issuer.d.ts +465 -0
- package/dist/types/issuer.d.ts.map +1 -0
- package/dist/types/jwt.d.ts +6 -0
- package/dist/types/jwt.d.ts.map +1 -0
- package/dist/types/keys.d.ts +18 -0
- package/dist/types/keys.d.ts.map +1 -0
- package/dist/types/pkce.d.ts +7 -0
- package/dist/types/pkce.d.ts.map +1 -0
- package/dist/types/provider/apple.d.ts +108 -0
- package/dist/types/provider/apple.d.ts.map +1 -0
- package/dist/types/provider/arctic.d.ts +16 -0
- package/dist/types/provider/arctic.d.ts.map +1 -0
- package/dist/types/provider/code.d.ts +74 -0
- package/dist/types/provider/code.d.ts.map +1 -0
- package/dist/types/provider/cognito.d.ts +64 -0
- package/dist/types/provider/cognito.d.ts.map +1 -0
- package/dist/types/provider/discord.d.ts +38 -0
- package/dist/types/provider/discord.d.ts.map +1 -0
- package/dist/types/provider/facebook.d.ts +74 -0
- package/dist/types/provider/facebook.d.ts.map +1 -0
- package/dist/types/provider/github.d.ts +38 -0
- package/dist/types/provider/github.d.ts.map +1 -0
- package/dist/types/provider/google.d.ts +74 -0
- package/dist/types/provider/google.d.ts.map +1 -0
- package/dist/types/provider/index.d.ts +4 -0
- package/dist/types/provider/index.d.ts.map +1 -0
- package/dist/types/provider/jumpcloud.d.ts +38 -0
- package/dist/types/provider/jumpcloud.d.ts.map +1 -0
- package/dist/types/provider/keycloak.d.ts +67 -0
- package/dist/types/provider/keycloak.d.ts.map +1 -0
- package/dist/types/provider/linkedin.d.ts +6 -0
- package/dist/types/provider/linkedin.d.ts.map +1 -0
- package/dist/types/provider/m2m.d.ts +34 -0
- package/dist/types/provider/m2m.d.ts.map +1 -0
- package/dist/types/provider/microsoft.d.ts +89 -0
- package/dist/types/provider/microsoft.d.ts.map +1 -0
- package/dist/types/provider/oauth2.d.ts +133 -0
- package/dist/types/provider/oauth2.d.ts.map +1 -0
- package/dist/types/provider/oidc.d.ts +91 -0
- package/dist/types/provider/oidc.d.ts.map +1 -0
- package/dist/types/provider/passkey.d.ts +143 -0
- package/dist/types/provider/passkey.d.ts.map +1 -0
- package/dist/types/provider/password.d.ts +210 -0
- package/dist/types/provider/password.d.ts.map +1 -0
- package/dist/types/provider/provider.d.ts +29 -0
- package/dist/types/provider/provider.d.ts.map +1 -0
- package/dist/types/provider/slack.d.ts +59 -0
- package/dist/types/provider/slack.d.ts.map +1 -0
- package/dist/types/provider/spotify.d.ts +38 -0
- package/dist/types/provider/spotify.d.ts.map +1 -0
- package/dist/types/provider/twitch.d.ts +38 -0
- package/dist/types/provider/twitch.d.ts.map +1 -0
- package/dist/types/provider/x.d.ts +38 -0
- package/dist/types/provider/x.d.ts.map +1 -0
- package/dist/types/provider/yahoo.d.ts +38 -0
- package/dist/types/provider/yahoo.d.ts.map +1 -0
- package/dist/types/random.d.ts +3 -0
- package/dist/types/random.d.ts.map +1 -0
- package/dist/types/storage/aws.d.ts +4 -0
- package/dist/types/storage/aws.d.ts.map +1 -0
- package/dist/types/storage/cloudflare.d.ts +34 -0
- package/dist/types/storage/cloudflare.d.ts.map +1 -0
- package/dist/types/storage/dynamo.d.ts +65 -0
- package/dist/types/storage/dynamo.d.ts.map +1 -0
- package/dist/types/storage/memory.d.ts +49 -0
- package/dist/types/storage/memory.d.ts.map +1 -0
- package/dist/types/storage/storage.d.ts +15 -0
- package/dist/types/storage/storage.d.ts.map +1 -0
- package/dist/types/subject.d.ts +122 -0
- package/dist/types/subject.d.ts.map +1 -0
- package/dist/types/ui/base.d.ts +5 -0
- package/dist/types/ui/base.d.ts.map +1 -0
- package/dist/types/ui/code.d.ts +104 -0
- package/dist/types/ui/code.d.ts.map +1 -0
- package/dist/types/ui/form.d.ts +6 -0
- package/dist/types/ui/form.d.ts.map +1 -0
- package/dist/types/ui/icon.d.ts +6 -0
- package/dist/types/ui/icon.d.ts.map +1 -0
- package/dist/types/ui/passkey.d.ts +5 -0
- package/dist/types/ui/passkey.d.ts.map +1 -0
- package/dist/types/ui/password.d.ts +139 -0
- package/dist/types/ui/password.d.ts.map +1 -0
- package/dist/types/ui/select.d.ts +55 -0
- package/dist/types/ui/select.d.ts.map +1 -0
- package/dist/types/ui/theme.d.ts +207 -0
- package/dist/types/ui/theme.d.ts.map +1 -0
- package/dist/types/util.d.ts +8 -0
- package/dist/types/util.d.ts.map +1 -0
- package/package.json +51 -0
- package/src/client.ts +749 -0
- package/src/css.d.ts +4 -0
- package/src/error.ts +120 -0
- package/src/index.ts +26 -0
- package/src/issuer.ts +1302 -0
- package/src/jwt.ts +17 -0
- package/src/keys.ts +139 -0
- package/src/pkce.ts +40 -0
- package/src/provider/apple.ts +127 -0
- package/src/provider/arctic.ts +66 -0
- package/src/provider/code.ts +227 -0
- package/src/provider/cognito.ts +74 -0
- package/src/provider/discord.ts +45 -0
- package/src/provider/facebook.ts +84 -0
- package/src/provider/github.ts +45 -0
- package/src/provider/google.ts +85 -0
- package/src/provider/index.ts +3 -0
- package/src/provider/jumpcloud.ts +45 -0
- package/src/provider/keycloak.ts +75 -0
- package/src/provider/linkedin.ts +12 -0
- package/src/provider/m2m.ts +56 -0
- package/src/provider/microsoft.ts +100 -0
- package/src/provider/oauth2.ts +297 -0
- package/src/provider/oidc.ts +179 -0
- package/src/provider/passkey.ts +655 -0
- package/src/provider/password.ts +672 -0
- package/src/provider/provider.ts +33 -0
- package/src/provider/slack.ts +67 -0
- package/src/provider/spotify.ts +45 -0
- package/src/provider/twitch.ts +45 -0
- package/src/provider/x.ts +46 -0
- package/src/provider/yahoo.ts +45 -0
- package/src/random.ts +24 -0
- package/src/storage/aws.ts +59 -0
- package/src/storage/cloudflare.ts +77 -0
- package/src/storage/dynamo.ts +193 -0
- package/src/storage/memory.ts +135 -0
- package/src/storage/storage.ts +46 -0
- package/src/subject.ts +130 -0
- package/src/ui/base.tsx +118 -0
- package/src/ui/code.tsx +215 -0
- package/src/ui/form.tsx +40 -0
- package/src/ui/icon.tsx +95 -0
- package/src/ui/passkey.tsx +321 -0
- package/src/ui/password.tsx +405 -0
- package/src/ui/select.tsx +221 -0
- package/src/ui/theme.ts +319 -0
- package/src/ui/ui.css +252 -0
- package/src/util.ts +58 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slack.d.ts","sourceRoot":"","sources":["../../../src/provider/slack.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAkB,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjE,MAAM,WAAW,WAAY,SAAQ,mBAAmB;IACtD;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;;;;;;;OAQG;IACH,MAAM,EAAE,CAAC,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC,EAAE,CAAA;CAC3C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW;;;GAShD"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Use this provider to authenticate with Spotify.
|
|
3
|
+
*
|
|
4
|
+
* ```ts {5-8}
|
|
5
|
+
* import { SpotifyProvider } from "@openauthjs/openauth/provider/spotify"
|
|
6
|
+
*
|
|
7
|
+
* export default issuer({
|
|
8
|
+
* providers: {
|
|
9
|
+
* spotify: SpotifyProvider({
|
|
10
|
+
* clientID: "1234567890",
|
|
11
|
+
* clientSecret: "0987654321"
|
|
12
|
+
* })
|
|
13
|
+
* }
|
|
14
|
+
* })
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* @packageDocumentation
|
|
18
|
+
*/
|
|
19
|
+
import { type Oauth2WrappedConfig } from "./oauth2.js";
|
|
20
|
+
export interface SpotifyConfig extends Oauth2WrappedConfig {
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Create a Spotify OAuth2 provider.
|
|
24
|
+
*
|
|
25
|
+
* @param config - The config for the provider.
|
|
26
|
+
* @example
|
|
27
|
+
* ```ts
|
|
28
|
+
* SpotifyProvider({
|
|
29
|
+
* clientID: "1234567890",
|
|
30
|
+
* clientSecret: "0987654321"
|
|
31
|
+
* })
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare function SpotifyProvider(config: SpotifyConfig): import("./provider.js").Provider<{
|
|
35
|
+
tokenset: import("./oauth2.js").Oauth2Token;
|
|
36
|
+
clientID: string;
|
|
37
|
+
}>;
|
|
38
|
+
//# sourceMappingURL=spotify.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spotify.d.ts","sourceRoot":"","sources":["../../../src/provider/spotify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEtE,MAAM,WAAW,aAAc,SAAQ,mBAAmB;CAAG;AAE7D;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa;;;GASpD"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Use this provider to authenticate with Twitch.
|
|
3
|
+
*
|
|
4
|
+
* ```ts {5-8}
|
|
5
|
+
* import { TwitchProvider } from "@openauthjs/openauth/provider/twitch"
|
|
6
|
+
*
|
|
7
|
+
* export default issuer({
|
|
8
|
+
* providers: {
|
|
9
|
+
* twitch: TwitchProvider({
|
|
10
|
+
* clientID: "1234567890",
|
|
11
|
+
* clientSecret: "0987654321"
|
|
12
|
+
* })
|
|
13
|
+
* }
|
|
14
|
+
* })
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* @packageDocumentation
|
|
18
|
+
*/
|
|
19
|
+
import { Oauth2WrappedConfig } from "./oauth2.js";
|
|
20
|
+
export interface TwitchConfig extends Oauth2WrappedConfig {
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Create a Twitch OAuth2 provider.
|
|
24
|
+
*
|
|
25
|
+
* @param config - The config for the provider.
|
|
26
|
+
* @example
|
|
27
|
+
* ```ts
|
|
28
|
+
* TwitchProvider({
|
|
29
|
+
* clientID: "1234567890",
|
|
30
|
+
* clientSecret: "0987654321"
|
|
31
|
+
* })
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare function TwitchProvider(config: TwitchConfig): import("./provider.js").Provider<{
|
|
35
|
+
tokenset: import("./oauth2.js").Oauth2Token;
|
|
36
|
+
clientID: string;
|
|
37
|
+
}>;
|
|
38
|
+
//# sourceMappingURL=twitch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"twitch.d.ts","sourceRoot":"","sources":["../../../src/provider/twitch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAkB,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjE,MAAM,WAAW,YAAa,SAAQ,mBAAmB;CAAG;AAE5D;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY;;;GASlD"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Use this provider to authenticate with X.com.
|
|
3
|
+
*
|
|
4
|
+
* ```ts {5-8}
|
|
5
|
+
* import { XProvider } from "@openauthjs/openauth/provider/x"
|
|
6
|
+
*
|
|
7
|
+
* export default issuer({
|
|
8
|
+
* providers: {
|
|
9
|
+
* x: XProvider({
|
|
10
|
+
* clientID: "1234567890",
|
|
11
|
+
* clientSecret: "0987654321"
|
|
12
|
+
* })
|
|
13
|
+
* }
|
|
14
|
+
* })
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* @packageDocumentation
|
|
18
|
+
*/
|
|
19
|
+
import { Oauth2WrappedConfig } from "./oauth2.js";
|
|
20
|
+
export interface XProviderConfig extends Oauth2WrappedConfig {
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Create a X.com OAuth2 provider.
|
|
24
|
+
*
|
|
25
|
+
* @param config - The config for the provider.
|
|
26
|
+
* @example
|
|
27
|
+
* ```ts
|
|
28
|
+
* XProvider({
|
|
29
|
+
* clientID: "1234567890",
|
|
30
|
+
* clientSecret: "0987654321"
|
|
31
|
+
* })
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare function XProvider(config: XProviderConfig): import("./provider.js").Provider<{
|
|
35
|
+
tokenset: import("./oauth2.js").Oauth2Token;
|
|
36
|
+
clientID: string;
|
|
37
|
+
}>;
|
|
38
|
+
//# sourceMappingURL=x.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"x.d.ts","sourceRoot":"","sources":["../../../src/provider/x.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAkB,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjE,MAAM,WAAW,eAAgB,SAAQ,mBAAmB;CAAG;AAE/D;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,eAAe;;;GAUhD"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Use this provider to authenticate with Yahoo.
|
|
3
|
+
*
|
|
4
|
+
* ```ts {5-8}
|
|
5
|
+
* import { YahooProvider } from "@openauthjs/openauth/provider/yahoo"
|
|
6
|
+
*
|
|
7
|
+
* export default issuer({
|
|
8
|
+
* providers: {
|
|
9
|
+
* yahoo: YahooProvider({
|
|
10
|
+
* clientID: "1234567890",
|
|
11
|
+
* clientSecret: "0987654321"
|
|
12
|
+
* })
|
|
13
|
+
* }
|
|
14
|
+
* })
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* @packageDocumentation
|
|
18
|
+
*/
|
|
19
|
+
import { Oauth2WrappedConfig } from "./oauth2.js";
|
|
20
|
+
export interface YahooConfig extends Oauth2WrappedConfig {
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Create a Yahoo OAuth2 provider.
|
|
24
|
+
*
|
|
25
|
+
* @param config - The config for the provider.
|
|
26
|
+
* @example
|
|
27
|
+
* ```ts
|
|
28
|
+
* YahooProvider({
|
|
29
|
+
* clientID: "1234567890",
|
|
30
|
+
* clientSecret: "0987654321"
|
|
31
|
+
* })
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare function YahooProvider(config: YahooConfig): import("./provider.js").Provider<{
|
|
35
|
+
tokenset: import("./oauth2.js").Oauth2Token;
|
|
36
|
+
clientID: string;
|
|
37
|
+
}>;
|
|
38
|
+
//# sourceMappingURL=yahoo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"yahoo.d.ts","sourceRoot":"","sources":["../../../src/provider/yahoo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAkB,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjE,MAAM,WAAW,WAAY,SAAQ,mBAAmB;CAAG;AAE3D;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW;;;GAShD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../../src/random.ts"],"names":[],"mappings":"AAEA,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAW7D;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAQ/D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aws.d.ts","sourceRoot":"","sources":["../../../src/storage/aws.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AA6BrC,wBAAsB,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC,CAwBjD;AAED,MAAM,MAAM,UAAU,GAAG,OAAO,CAC9B,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EACjC,IAAI,GAAG,SAAS,CACjB,CAAC,KAAK,CAAC,CAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configure OpenAuth to use [Cloudflare KV](https://developers.cloudflare.com/kv/) as a
|
|
3
|
+
* storage adapter.
|
|
4
|
+
*
|
|
5
|
+
* ```ts
|
|
6
|
+
* import { CloudflareStorage } from "@openauthjs/openauth/storage/cloudflare"
|
|
7
|
+
*
|
|
8
|
+
* const storage = CloudflareStorage({
|
|
9
|
+
* namespace: "my-namespace"
|
|
10
|
+
* })
|
|
11
|
+
*
|
|
12
|
+
*
|
|
13
|
+
* export default issuer({
|
|
14
|
+
* storage,
|
|
15
|
+
* // ...
|
|
16
|
+
* })
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* @packageDocumentation
|
|
20
|
+
*/
|
|
21
|
+
import type { KVNamespace } from "@cloudflare/workers-types";
|
|
22
|
+
import { StorageAdapter } from "./storage.js";
|
|
23
|
+
/**
|
|
24
|
+
* Configure the Cloudflare KV store that's created.
|
|
25
|
+
*/
|
|
26
|
+
export interface CloudflareStorageOptions {
|
|
27
|
+
namespace: KVNamespace;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Creates a Cloudflare KV store.
|
|
31
|
+
* @param options - The config for the adapter.
|
|
32
|
+
*/
|
|
33
|
+
export declare function CloudflareStorage(options: CloudflareStorageOptions): StorageAdapter;
|
|
34
|
+
//# sourceMappingURL=cloudflare.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudflare.d.ts","sourceRoot":"","sources":["../../../src/storage/cloudflare.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,EAAqB,cAAc,EAAE,MAAM,cAAc,CAAA;AAEhE;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,WAAW,CAAA;CACvB;AACD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,wBAAwB,GAChC,cAAc,CAyChB"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configure OpenAuth to use [DynamoDB](https://aws.amazon.com/dynamodb/) as a storage adapter.
|
|
3
|
+
*
|
|
4
|
+
* ```ts
|
|
5
|
+
* import { DynamoStorage } from "@openauthjs/openauth/storage/dynamo"
|
|
6
|
+
*
|
|
7
|
+
* const storage = DynamoStorage({
|
|
8
|
+
* table: "my-table",
|
|
9
|
+
* pk: "pk",
|
|
10
|
+
* sk: "sk"
|
|
11
|
+
* })
|
|
12
|
+
*
|
|
13
|
+
* export default issuer({
|
|
14
|
+
* storage,
|
|
15
|
+
* // ...
|
|
16
|
+
* })
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* @packageDocumentation
|
|
20
|
+
*/
|
|
21
|
+
import { StorageAdapter } from "./storage.js";
|
|
22
|
+
/**
|
|
23
|
+
* Configure the DynamoDB table that's created.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```ts
|
|
27
|
+
* {
|
|
28
|
+
* table: "my-table",
|
|
29
|
+
* pk: "pk",
|
|
30
|
+
* sk: "sk"
|
|
31
|
+
* }
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export interface DynamoStorageOptions {
|
|
35
|
+
/**
|
|
36
|
+
* The name of the DynamoDB table.
|
|
37
|
+
*/
|
|
38
|
+
table: string;
|
|
39
|
+
/**
|
|
40
|
+
* The primary key column name.
|
|
41
|
+
* @default "pk"
|
|
42
|
+
*/
|
|
43
|
+
pk?: string;
|
|
44
|
+
/**
|
|
45
|
+
* The sort key column name.
|
|
46
|
+
* @default "sk"
|
|
47
|
+
*/
|
|
48
|
+
sk?: string;
|
|
49
|
+
/**
|
|
50
|
+
* Endpoint URL for the DynamoDB service. Useful for local testing.
|
|
51
|
+
* @default "https://dynamodb.{region}.amazonaws.com"
|
|
52
|
+
*/
|
|
53
|
+
endpoint?: string;
|
|
54
|
+
/**
|
|
55
|
+
* The name of the time to live attribute.
|
|
56
|
+
* @default "expiry"
|
|
57
|
+
*/
|
|
58
|
+
ttl?: string;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Creates a DynamoDB store.
|
|
62
|
+
* @param options - The config for the adapter.
|
|
63
|
+
*/
|
|
64
|
+
export declare function DynamoStorage(options: DynamoStorageOptions): StorageAdapter;
|
|
65
|
+
//# sourceMappingURL=dynamo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamo.d.ts","sourceRoot":"","sources":["../../../src/storage/dynamo.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAW,cAAc,EAAE,MAAM,cAAc,CAAA;AAEtD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;IACX;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;IACX;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,cAAc,CA6H3E"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configure OpenAuth to use a simple in-memory store.
|
|
3
|
+
*
|
|
4
|
+
* :::caution
|
|
5
|
+
* This is not meant to be used in production.
|
|
6
|
+
* :::
|
|
7
|
+
*
|
|
8
|
+
* This is useful for testing and development. It's not meant to be used in production.
|
|
9
|
+
*
|
|
10
|
+
* ```ts
|
|
11
|
+
* import { MemoryStorage } from "@openauthjs/openauth/storage/memory"
|
|
12
|
+
*
|
|
13
|
+
* const storage = MemoryStorage()
|
|
14
|
+
*
|
|
15
|
+
* export default issuer({
|
|
16
|
+
* storage,
|
|
17
|
+
* // ...
|
|
18
|
+
* })
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* Optionally, you can persist the store to a file.
|
|
22
|
+
*
|
|
23
|
+
* ```ts
|
|
24
|
+
* MemoryStorage({
|
|
25
|
+
* persist: "./persist.json"
|
|
26
|
+
* })
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* @packageDocumentation
|
|
30
|
+
*/
|
|
31
|
+
import { StorageAdapter } from "./storage.js";
|
|
32
|
+
/**
|
|
33
|
+
* Configure the memory store.
|
|
34
|
+
*/
|
|
35
|
+
export interface MemoryStorageOptions {
|
|
36
|
+
/**
|
|
37
|
+
* Optionally, backup the store to a file. So it'll be persisted when the issuer restarts.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```ts
|
|
41
|
+
* {
|
|
42
|
+
* persist: "./persist.json"
|
|
43
|
+
* }
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
persist?: string;
|
|
47
|
+
}
|
|
48
|
+
export declare function MemoryStorage(input?: MemoryStorageOptions): StorageAdapter;
|
|
49
|
+
//# sourceMappingURL=memory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/storage/memory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,EAAqB,cAAc,EAAE,MAAM,cAAc,CAAA;AAIhE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AACD,wBAAgB,aAAa,CAAC,KAAK,CAAC,EAAE,oBAAoB,GAAG,cAAc,CAoF1E"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface StorageAdapter {
|
|
2
|
+
get(key: string[]): Promise<Record<string, any> | undefined>;
|
|
3
|
+
remove(key: string[]): Promise<void>;
|
|
4
|
+
set(key: string[], value: any, expiry?: Date): Promise<void>;
|
|
5
|
+
scan(prefix: string[]): AsyncIterable<[string[], any]>;
|
|
6
|
+
}
|
|
7
|
+
export declare function joinKey(key: string[]): string;
|
|
8
|
+
export declare function splitKey(key: string): string[];
|
|
9
|
+
export declare namespace Storage {
|
|
10
|
+
function get<T>(adapter: StorageAdapter, key: string[]): Promise<T | null>;
|
|
11
|
+
function set(adapter: StorageAdapter, key: string[], value: any, ttl?: number): Promise<void>;
|
|
12
|
+
function remove(adapter: StorageAdapter, key: string[]): Promise<void>;
|
|
13
|
+
function scan<T>(adapter: StorageAdapter, key: string[]): AsyncIterable<[string[], T]>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/storage/storage.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC,CAAA;IAC5D,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACpC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5D,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC,CAAA;CACvD;AAID,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,UAEpC;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,YAEnC;AAED,yBAAiB,OAAO,CAAC;IAIvB,SAAgB,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,GACxB,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CACrD;IAED,SAAgB,GAAG,CACjB,OAAO,EAAE,cAAc,EACvB,GAAG,EAAE,MAAM,EAAE,EACb,KAAK,EAAE,GAAG,EACV,GAAG,CAAC,EAAE,MAAM,iBAIb;IAED,SAAgB,MAAM,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,iBAE5D;IAED,SAAgB,IAAI,CAAC,CAAC,EACpB,OAAO,EAAE,cAAc,EACvB,GAAG,EAAE,MAAM,EAAE,GACZ,aAAa,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAE9B;CACF"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Subjects are what the access token generated at the end of the auth flow will map to. Under
|
|
3
|
+
* the hood, the access token is a JWT that contains this data.
|
|
4
|
+
*
|
|
5
|
+
* #### Define subjects
|
|
6
|
+
*
|
|
7
|
+
* ```ts title="subjects.ts"
|
|
8
|
+
* import { object, string } from "valibot"
|
|
9
|
+
*
|
|
10
|
+
* const subjects = createSubjects({
|
|
11
|
+
* user: object({
|
|
12
|
+
* userID: string()
|
|
13
|
+
* })
|
|
14
|
+
* })
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* We are using [valibot](https://github.com/fabian-hiller/valibot) here. You can use any
|
|
18
|
+
* validation library that's following the
|
|
19
|
+
* [standard-schema specification](https://github.com/standard-schema/standard-schema).
|
|
20
|
+
*
|
|
21
|
+
* :::tip
|
|
22
|
+
* You typically want to place subjects in its own file so it can be imported by all of your apps.
|
|
23
|
+
* :::
|
|
24
|
+
*
|
|
25
|
+
* You can start with one subject. Later you can add more for different types of users.
|
|
26
|
+
*
|
|
27
|
+
* #### Set the subjects
|
|
28
|
+
*
|
|
29
|
+
* Then you can pass it to the `issuer`.
|
|
30
|
+
*
|
|
31
|
+
* ```ts title="issuer.ts"
|
|
32
|
+
* import { subjects } from "./subjects"
|
|
33
|
+
*
|
|
34
|
+
* const app = issuer({
|
|
35
|
+
* providers: { ... },
|
|
36
|
+
* subjects,
|
|
37
|
+
* // ...
|
|
38
|
+
* })
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* #### Add the subject payload
|
|
42
|
+
*
|
|
43
|
+
* When your user completes the flow, you can add the subject payload in the `success` callback.
|
|
44
|
+
*
|
|
45
|
+
* ```ts title="issuer.ts"
|
|
46
|
+
* const app = issuer({
|
|
47
|
+
* providers: { ... },
|
|
48
|
+
* subjects,
|
|
49
|
+
* async success(ctx, value) {
|
|
50
|
+
* let userID
|
|
51
|
+
* if (value.provider === "password") {
|
|
52
|
+
* console.log(value.email)
|
|
53
|
+
* userID = ... // lookup user or create them
|
|
54
|
+
* }
|
|
55
|
+
* return ctx.subject("user", {
|
|
56
|
+
* userID
|
|
57
|
+
* })
|
|
58
|
+
* },
|
|
59
|
+
* // ...
|
|
60
|
+
* })
|
|
61
|
+
* ```
|
|
62
|
+
*
|
|
63
|
+
* Here we are looking up the userID from our database and adding it to the subject payload.
|
|
64
|
+
*
|
|
65
|
+
* :::caution
|
|
66
|
+
* You should only store properties that won't change for the lifetime of the user.
|
|
67
|
+
* :::
|
|
68
|
+
*
|
|
69
|
+
* Since these will be stored in the access token, you should avoid storing information
|
|
70
|
+
* that'll change often. For example, if you store the user's username, you'll need to
|
|
71
|
+
* revoke the access token when the user changes their username.
|
|
72
|
+
*
|
|
73
|
+
* #### Decode the subject
|
|
74
|
+
*
|
|
75
|
+
* Now when your user logs in, you can use the OpenAuth client to decode the subject. For
|
|
76
|
+
* example, in our SSR app we can do the following.
|
|
77
|
+
*
|
|
78
|
+
* ```ts title="app/page.tsx"
|
|
79
|
+
* import { subjects } from "../subjects"
|
|
80
|
+
*
|
|
81
|
+
* const verified = await client.verify(subjects, cookies.get("access_token")!)
|
|
82
|
+
* console.log(verified.subject.properties.userID)
|
|
83
|
+
* ```
|
|
84
|
+
*
|
|
85
|
+
* All this is typesafe based on the shape of the subjects you defined.
|
|
86
|
+
*
|
|
87
|
+
* @packageDocumentation
|
|
88
|
+
*/
|
|
89
|
+
import type { v1 } from "@standard-schema/spec";
|
|
90
|
+
import { Prettify } from "./util.js";
|
|
91
|
+
/**
|
|
92
|
+
* Subject schema is a map of types that are used to define the subjects.
|
|
93
|
+
*/
|
|
94
|
+
export type SubjectSchema = Record<string, v1.StandardSchema>;
|
|
95
|
+
/** @internal */
|
|
96
|
+
export type SubjectPayload<T extends SubjectSchema> = Prettify<{
|
|
97
|
+
[type in keyof T & string]: {
|
|
98
|
+
type: type;
|
|
99
|
+
properties: v1.InferOutput<T[type]>;
|
|
100
|
+
};
|
|
101
|
+
}[keyof T & string]>;
|
|
102
|
+
/**
|
|
103
|
+
* Create a subject schema.
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* ```ts
|
|
107
|
+
* const subjects = createSubjects({
|
|
108
|
+
* user: object({
|
|
109
|
+
* userID: string()
|
|
110
|
+
* }),
|
|
111
|
+
* admin: object({
|
|
112
|
+
* workspaceID: string()
|
|
113
|
+
* })
|
|
114
|
+
* })
|
|
115
|
+
* ```
|
|
116
|
+
*
|
|
117
|
+
* This is using [valibot](https://github.com/fabian-hiller/valibot) to define the shape of the
|
|
118
|
+
* subjects. You can use any validation library that's following the
|
|
119
|
+
* [standard-schema specification](https://github.com/standard-schema/standard-schema).
|
|
120
|
+
*/
|
|
121
|
+
export declare function createSubjects<Schema extends SubjectSchema = {}>(types: Schema): Schema;
|
|
122
|
+
//# sourceMappingURL=subject.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subject.d.ts","sourceRoot":"","sources":["../../src/subject.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuFG;AACH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,CAAA;AAE7D,gBAAgB;AAChB,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,aAAa,IAAI,QAAQ,CAC5D;KACG,IAAI,IAAI,MAAM,CAAC,GAAG,MAAM,GAAG;QAC1B,IAAI,EAAE,IAAI,CAAA;QACV,UAAU,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;KACpC;CACF,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CACpB,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAAC,MAAM,SAAS,aAAa,GAAG,EAAE,EAC9D,KAAK,EAAE,MAAM,GACZ,MAAM,CAER"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/ui/base.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAI5C,wBAAgB,MAAM,CACpB,KAAK,EAAE,iBAAiB,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,CAAC,kDA8FH"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configure the UI that's used by the Code provider.
|
|
3
|
+
*
|
|
4
|
+
* ```ts {1,7-12}
|
|
5
|
+
* import { CodeUI } from "@openauthjs/openauth/ui/code"
|
|
6
|
+
* import { CodeProvider } from "@openauthjs/openauth/provider/code"
|
|
7
|
+
*
|
|
8
|
+
* export default issuer({
|
|
9
|
+
* providers: {
|
|
10
|
+
* code: CodeAdapter(
|
|
11
|
+
* CodeUI({
|
|
12
|
+
* copy: {
|
|
13
|
+
* code_info: "We'll send a pin code to your email"
|
|
14
|
+
* },
|
|
15
|
+
* sendCode: (claims, code) => console.log(claims.email, code)
|
|
16
|
+
* })
|
|
17
|
+
* )
|
|
18
|
+
* },
|
|
19
|
+
* // ...
|
|
20
|
+
* })
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* @packageDocumentation
|
|
24
|
+
*/
|
|
25
|
+
/** @jsxImportSource hono/jsx */
|
|
26
|
+
import { CodeProviderOptions, CodeProviderError } from "../provider/code.js";
|
|
27
|
+
declare const DEFAULT_COPY: {
|
|
28
|
+
/**
|
|
29
|
+
* Copy for the email input.
|
|
30
|
+
*/
|
|
31
|
+
email_placeholder: string;
|
|
32
|
+
/**
|
|
33
|
+
* Error message when the email is invalid.
|
|
34
|
+
*/
|
|
35
|
+
email_invalid: string;
|
|
36
|
+
/**
|
|
37
|
+
* Copy for the continue button.
|
|
38
|
+
*/
|
|
39
|
+
button_continue: string;
|
|
40
|
+
/**
|
|
41
|
+
* Copy informing that the pin code will be emailed.
|
|
42
|
+
*/
|
|
43
|
+
code_info: string;
|
|
44
|
+
/**
|
|
45
|
+
* Copy for the pin code input.
|
|
46
|
+
*/
|
|
47
|
+
code_placeholder: string;
|
|
48
|
+
/**
|
|
49
|
+
* Error message when the code is invalid.
|
|
50
|
+
*/
|
|
51
|
+
code_invalid: string;
|
|
52
|
+
/**
|
|
53
|
+
* Copy for when the code was sent.
|
|
54
|
+
*/
|
|
55
|
+
code_sent: string;
|
|
56
|
+
/**
|
|
57
|
+
* Copy for when the code was resent.
|
|
58
|
+
*/
|
|
59
|
+
code_resent: string;
|
|
60
|
+
/**
|
|
61
|
+
* Copy for the link to resend the code.
|
|
62
|
+
*/
|
|
63
|
+
code_didnt_get: string;
|
|
64
|
+
/**
|
|
65
|
+
* Copy for the resend button.
|
|
66
|
+
*/
|
|
67
|
+
code_resend: string;
|
|
68
|
+
};
|
|
69
|
+
export type CodeUICopy = typeof DEFAULT_COPY;
|
|
70
|
+
/**
|
|
71
|
+
* Configure the password UI.
|
|
72
|
+
*/
|
|
73
|
+
export interface CodeUIOptions {
|
|
74
|
+
/**
|
|
75
|
+
* Callback to send the pin code to the user.
|
|
76
|
+
*
|
|
77
|
+
* The `claims` object contains the email or phone number of the user. You can send the code
|
|
78
|
+
* using this.
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* ```ts
|
|
82
|
+
* async (claims, code) => {
|
|
83
|
+
* // Send the code via the claim
|
|
84
|
+
* }
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
sendCode: (claims: Record<string, string>, code: string) => Promise<void | CodeProviderError>;
|
|
88
|
+
/**
|
|
89
|
+
* Custom copy for the UI.
|
|
90
|
+
*/
|
|
91
|
+
copy?: Partial<CodeUICopy>;
|
|
92
|
+
/**
|
|
93
|
+
* The mode to use for the input.
|
|
94
|
+
* @default "email"
|
|
95
|
+
*/
|
|
96
|
+
mode?: "email" | "phone";
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Creates a UI for the Code provider flow.
|
|
100
|
+
* @param props - Configure the UI.
|
|
101
|
+
*/
|
|
102
|
+
export declare function CodeUI(props: CodeUIOptions): CodeProviderOptions;
|
|
103
|
+
export {};
|
|
104
|
+
//# sourceMappingURL=code.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../../../src/ui/code.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,gCAAgC;AAEhC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAK5E,QAAA,MAAM,YAAY;IAChB;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;CAEJ,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,OAAO,YAAY,CAAA;AAE5C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;;;;;;;;OAYG;IACH,QAAQ,EAAE,CACR,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,IAAI,EAAE,MAAM,KACT,OAAO,CAAC,IAAI,GAAG,iBAAiB,CAAC,CAAA;IACtC;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;IAC1B;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;CACzB;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,mBAAmB,CAsGhE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../src/ui/form.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,wBAAgB,SAAS,CAAC,KAAK,EAAE;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;CAC7B,kDAkCA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** @jsxImportSource hono/jsx */
|
|
2
|
+
export declare const ICON_GITHUB: import("hono/jsx/jsx-dev-runtime").JSX.Element;
|
|
3
|
+
export declare const ICON_GOOGLE: import("hono/jsx/jsx-dev-runtime").JSX.Element;
|
|
4
|
+
export declare const ICON_EMAIL: import("hono/jsx/jsx-dev-runtime").JSX.Element;
|
|
5
|
+
export declare const ICON_SLACK: import("hono/jsx/jsx-dev-runtime").JSX.Element;
|
|
6
|
+
//# sourceMappingURL=icon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../../../src/ui/icon.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,eAAO,MAAM,WAAW,gDAWvB,CAAA;AAED,eAAO,MAAM,WAAW,gDAyBvB,CAAA;AAED,eAAO,MAAM,UAAU,gDAetB,CAAA;AAED,eAAO,MAAM,UAAU,gDAmCtB,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { PasskeyProviderConfig } from "../provider/passkey.js";
|
|
2
|
+
type PasskeyUIOptions = Omit<PasskeyProviderConfig, "authorize" | "register">;
|
|
3
|
+
export declare function PasskeyUI(options: PasskeyUIOptions): PasskeyProviderConfig;
|
|
4
|
+
export {};
|
|
5
|
+
//# sourceMappingURL=passkey.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"passkey.d.ts","sourceRoot":"","sources":["../../../src/ui/passkey.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AA4C9D,KAAK,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,EAAE,WAAW,GAAG,UAAU,CAAC,CAAA;AAE7E,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,qBAAqB,CAkR1E"}
|