@_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,74 @@
|
|
|
1
|
+
import { Provider } from "./provider.js";
|
|
2
|
+
export interface CodeProviderConfig<Claims extends Record<string, string> = Record<string, string>> {
|
|
3
|
+
/**
|
|
4
|
+
* The length of the pin code.
|
|
5
|
+
*
|
|
6
|
+
* @default 6
|
|
7
|
+
*/
|
|
8
|
+
length?: number;
|
|
9
|
+
/**
|
|
10
|
+
* The request handler to generate the UI for the code flow.
|
|
11
|
+
*
|
|
12
|
+
* Takes the standard [`Request`](https://developer.mozilla.org/en-US/docs/Web/API/Request)
|
|
13
|
+
* and optionally [`FormData`](https://developer.mozilla.org/en-US/docs/Web/API/FormData)
|
|
14
|
+
* ojects.
|
|
15
|
+
*
|
|
16
|
+
* Also passes in the current `state` of the flow and any `error` that occurred.
|
|
17
|
+
*
|
|
18
|
+
* Expects the [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response) object
|
|
19
|
+
* in return.
|
|
20
|
+
*/
|
|
21
|
+
request: (req: Request, state: CodeProviderState, form?: FormData, error?: CodeProviderError) => Promise<Response>;
|
|
22
|
+
/**
|
|
23
|
+
* Callback to send the pin code to the user.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```ts
|
|
27
|
+
* {
|
|
28
|
+
* sendCode: async (claims, code) => {
|
|
29
|
+
* // Send the code through the email or phone number based on the claims
|
|
30
|
+
* }
|
|
31
|
+
* }
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
sendCode: (claims: Claims, code: string) => Promise<void | CodeProviderError>;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* The state of the code flow.
|
|
38
|
+
*
|
|
39
|
+
* | State | Description |
|
|
40
|
+
* | ----- | ----------- |
|
|
41
|
+
* | `start` | The user is asked to enter their email address or phone number to start the flow. |
|
|
42
|
+
* | `code` | The user needs to enter the pin code to verify their _claim_. |
|
|
43
|
+
*/
|
|
44
|
+
export type CodeProviderState = {
|
|
45
|
+
type: "start";
|
|
46
|
+
} | {
|
|
47
|
+
type: "code";
|
|
48
|
+
resend?: boolean;
|
|
49
|
+
code: string;
|
|
50
|
+
claims: Record<string, string>;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* The errors that can happen on the code flow.
|
|
54
|
+
*
|
|
55
|
+
* | Error | Description |
|
|
56
|
+
* | ----- | ----------- |
|
|
57
|
+
* | `invalid_code` | The code is invalid. |
|
|
58
|
+
* | `invalid_claim` | The _claim_, email or phone number, is invalid. |
|
|
59
|
+
*/
|
|
60
|
+
export type CodeProviderError = {
|
|
61
|
+
type: "invalid_code";
|
|
62
|
+
} | {
|
|
63
|
+
type: "invalid_claim";
|
|
64
|
+
key: string;
|
|
65
|
+
value: string;
|
|
66
|
+
};
|
|
67
|
+
export declare function CodeProvider<Claims extends Record<string, string> = Record<string, string>>(config: CodeProviderConfig<Claims>): Provider<{
|
|
68
|
+
claims: Claims;
|
|
69
|
+
}>;
|
|
70
|
+
/**
|
|
71
|
+
* @internal
|
|
72
|
+
*/
|
|
73
|
+
export type CodeProviderOptions = Parameters<typeof CodeProvider>[0];
|
|
74
|
+
//# sourceMappingURL=code.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../../../src/provider/code.ts"],"names":[],"mappings":"AAuDA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAGxC,MAAM,WAAW,kBAAkB,CACjC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAE9D;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;;;;;;;;OAWG;IACH,OAAO,EAAE,CACP,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,iBAAiB,EACxB,IAAI,CAAC,EAAE,QAAQ,EACf,KAAK,CAAC,EAAE,iBAAiB,KACtB,OAAO,CAAC,QAAQ,CAAC,CAAA;IACtB;;;;;;;;;;;OAWG;IACH,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,GAAG,iBAAiB,CAAC,CAAA;CAC9E;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,GACzB;IACE,IAAI,EAAE,OAAO,CAAA;CACd,GACD;IACE,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC/B,CAAA;AAEL;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,GACzB;IACE,IAAI,EAAE,cAAc,CAAA;CACrB,GACD;IACE,IAAI,EAAE,eAAe,CAAA;IACrB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAEL,wBAAgB,YAAY,CAC1B,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9D,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAkFlE;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Use this provider to authenticate with a Cognito OAuth endpoint.
|
|
3
|
+
*
|
|
4
|
+
* ```ts {5-10}
|
|
5
|
+
* import { CognitoProvider } from "@openauthjs/openauth/provider/cognito"
|
|
6
|
+
*
|
|
7
|
+
* export default issuer({
|
|
8
|
+
* providers: {
|
|
9
|
+
* cognito: CognitoProvider({
|
|
10
|
+
* domain: "your-domain.auth.us-east-1.amazoncognito.com",
|
|
11
|
+
* region: "us-east-1",
|
|
12
|
+
* clientID: "1234567890",
|
|
13
|
+
* clientSecret: "0987654321"
|
|
14
|
+
* })
|
|
15
|
+
* }
|
|
16
|
+
* })
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* @packageDocumentation
|
|
20
|
+
*/
|
|
21
|
+
import { Oauth2WrappedConfig } from "./oauth2.js";
|
|
22
|
+
export interface CognitoConfig extends Oauth2WrappedConfig {
|
|
23
|
+
/**
|
|
24
|
+
* The domain of the Cognito User Pool.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```ts
|
|
28
|
+
* {
|
|
29
|
+
* domain: "your-domain.auth.us-east-1.amazoncognito.com"
|
|
30
|
+
* }
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
domain: string;
|
|
34
|
+
/**
|
|
35
|
+
* The region the Cognito User Pool is in.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```ts
|
|
39
|
+
* {
|
|
40
|
+
* region: "us-east-1"
|
|
41
|
+
* }
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
region: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Create a Cognito OAuth2 provider.
|
|
48
|
+
*
|
|
49
|
+
* @param config - The config for the provider.
|
|
50
|
+
* @example
|
|
51
|
+
* ```ts
|
|
52
|
+
* CognitoProvider({
|
|
53
|
+
* domain: "your-domain.auth.us-east-1.amazoncognito.com",
|
|
54
|
+
* region: "us-east-1",
|
|
55
|
+
* clientID: "1234567890",
|
|
56
|
+
* clientSecret: "0987654321"
|
|
57
|
+
* })
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
export declare function CognitoProvider(config: CognitoConfig): import("./provider.js").Provider<{
|
|
61
|
+
tokenset: import("./oauth2.js").Oauth2Token;
|
|
62
|
+
clientID: string;
|
|
63
|
+
}>;
|
|
64
|
+
//# sourceMappingURL=cognito.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cognito.d.ts","sourceRoot":"","sources":["../../../src/provider/cognito.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAkB,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjE,MAAM,WAAW,aAAc,SAAQ,mBAAmB;IACxD;;;;;;;;;OASG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;;;;;;;;OASG;IACH,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa;;;GAWpD"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Use this provider to authenticate with Discord.
|
|
3
|
+
*
|
|
4
|
+
* ```ts {5-8}
|
|
5
|
+
* import { DiscordProvider } from "@openauthjs/openauth/provider/discord"
|
|
6
|
+
*
|
|
7
|
+
* export default issuer({
|
|
8
|
+
* providers: {
|
|
9
|
+
* discord: DiscordProvider({
|
|
10
|
+
* clientID: "1234567890",
|
|
11
|
+
* clientSecret: "0987654321"
|
|
12
|
+
* })
|
|
13
|
+
* }
|
|
14
|
+
* })
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* @packageDocumentation
|
|
18
|
+
*/
|
|
19
|
+
import { Oauth2WrappedConfig } from "./oauth2.js";
|
|
20
|
+
export interface DiscordConfig extends Oauth2WrappedConfig {
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Create a Discord OAuth2 provider.
|
|
24
|
+
*
|
|
25
|
+
* @param config - The config for the provider.
|
|
26
|
+
* @example
|
|
27
|
+
* ```ts
|
|
28
|
+
* DiscordProvider({
|
|
29
|
+
* clientID: "1234567890",
|
|
30
|
+
* clientSecret: "0987654321"
|
|
31
|
+
* })
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare function DiscordProvider(config: DiscordConfig): import("./provider.js").Provider<{
|
|
35
|
+
tokenset: import("./oauth2.js").Oauth2Token;
|
|
36
|
+
clientID: string;
|
|
37
|
+
}>;
|
|
38
|
+
//# sourceMappingURL=discord.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discord.d.ts","sourceRoot":"","sources":["../../../src/provider/discord.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAkB,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjE,MAAM,WAAW,aAAc,SAAQ,mBAAmB;CAAG;AAE7D;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa;;;GASpD"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Use this provider to authenticate with Facebook. Supports both OAuth2 and OIDC.
|
|
3
|
+
*
|
|
4
|
+
* #### Using OAuth
|
|
5
|
+
*
|
|
6
|
+
* ```ts {5-8}
|
|
7
|
+
* import { FacebookProvider } from "@openauthjs/openauth/provider/facebook"
|
|
8
|
+
*
|
|
9
|
+
* export default issuer({
|
|
10
|
+
* providers: {
|
|
11
|
+
* facebook: FacebookProvider({
|
|
12
|
+
* clientID: "1234567890",
|
|
13
|
+
* clientSecret: "0987654321"
|
|
14
|
+
* })
|
|
15
|
+
* }
|
|
16
|
+
* })
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* #### Using OIDC
|
|
20
|
+
*
|
|
21
|
+
* ```ts {5-7}
|
|
22
|
+
* import { FacebookOidcProvider } from "@openauthjs/openauth/provider/facebook"
|
|
23
|
+
*
|
|
24
|
+
* export default issuer({
|
|
25
|
+
* providers: {
|
|
26
|
+
* facebook: FacebookOidcProvider({
|
|
27
|
+
* clientID: "1234567890"
|
|
28
|
+
* })
|
|
29
|
+
* }
|
|
30
|
+
* })
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* @packageDocumentation
|
|
34
|
+
*/
|
|
35
|
+
import { Oauth2WrappedConfig } from "./oauth2.js";
|
|
36
|
+
import { OidcWrappedConfig } from "./oidc.js";
|
|
37
|
+
export interface FacebookConfig extends Oauth2WrappedConfig {
|
|
38
|
+
}
|
|
39
|
+
export interface FacebookOidcConfig extends OidcWrappedConfig {
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Create a Facebook OAuth2 provider.
|
|
43
|
+
*
|
|
44
|
+
* @param config - The config for the provider.
|
|
45
|
+
* @example
|
|
46
|
+
* ```ts
|
|
47
|
+
* FacebookProvider({
|
|
48
|
+
* clientID: "1234567890",
|
|
49
|
+
* clientSecret: "0987654321"
|
|
50
|
+
* })
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export declare function FacebookProvider(config: FacebookConfig): import("./provider.js").Provider<{
|
|
54
|
+
tokenset: import("./oauth2.js").Oauth2Token;
|
|
55
|
+
clientID: string;
|
|
56
|
+
}>;
|
|
57
|
+
/**
|
|
58
|
+
* Create a Facebook OIDC provider.
|
|
59
|
+
*
|
|
60
|
+
* This is useful if you just want to verify the user's email address.
|
|
61
|
+
*
|
|
62
|
+
* @param config - The config for the provider.
|
|
63
|
+
* @example
|
|
64
|
+
* ```ts
|
|
65
|
+
* FacebookOidcProvider({
|
|
66
|
+
* clientID: "1234567890"
|
|
67
|
+
* })
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
export declare function FacebookOidcProvider(config: FacebookOidcConfig): import("./provider.js").Provider<{
|
|
71
|
+
id: import("hono/utils/jwt/types").JWTPayload;
|
|
72
|
+
clientID: string;
|
|
73
|
+
}>;
|
|
74
|
+
//# sourceMappingURL=facebook.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"facebook.d.ts","sourceRoot":"","sources":["../../../src/provider/facebook.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,EAAkB,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjE,OAAO,EAAgB,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE3D,MAAM,WAAW,cAAe,SAAQ,mBAAmB;CAAG;AAC9D,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;CAAG;AAEhE;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc;;;GAStD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,kBAAkB;;;GAM9D"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Use this provider to authenticate with Github.
|
|
3
|
+
*
|
|
4
|
+
* ```ts {5-8}
|
|
5
|
+
* import { GithubProvider } from "@openauthjs/openauth/provider/github"
|
|
6
|
+
*
|
|
7
|
+
* export default issuer({
|
|
8
|
+
* providers: {
|
|
9
|
+
* github: GithubProvider({
|
|
10
|
+
* clientID: "1234567890",
|
|
11
|
+
* clientSecret: "0987654321"
|
|
12
|
+
* })
|
|
13
|
+
* }
|
|
14
|
+
* })
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* @packageDocumentation
|
|
18
|
+
*/
|
|
19
|
+
import { Oauth2WrappedConfig } from "./oauth2.js";
|
|
20
|
+
export interface GithubConfig extends Oauth2WrappedConfig {
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Create a Github OAuth2 provider.
|
|
24
|
+
*
|
|
25
|
+
* @param config - The config for the provider.
|
|
26
|
+
* @example
|
|
27
|
+
* ```ts
|
|
28
|
+
* GithubProvider({
|
|
29
|
+
* clientID: "1234567890",
|
|
30
|
+
* clientSecret: "0987654321"
|
|
31
|
+
* })
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare function GithubProvider(config: GithubConfig): import("./provider.js").Provider<{
|
|
35
|
+
tokenset: import("./oauth2.js").Oauth2Token;
|
|
36
|
+
clientID: string;
|
|
37
|
+
}>;
|
|
38
|
+
//# sourceMappingURL=github.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../../src/provider/github.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,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Use this provider to authenticate with Google. Supports both OAuth2 and OIDC.
|
|
3
|
+
*
|
|
4
|
+
* #### Using OAuth
|
|
5
|
+
*
|
|
6
|
+
* ```ts {5-8}
|
|
7
|
+
* import { GoogleProvider } from "@openauthjs/openauth/provider/google"
|
|
8
|
+
*
|
|
9
|
+
* export default issuer({
|
|
10
|
+
* providers: {
|
|
11
|
+
* google: GoogleProvider({
|
|
12
|
+
* clientID: "1234567890",
|
|
13
|
+
* clientSecret: "0987654321"
|
|
14
|
+
* })
|
|
15
|
+
* }
|
|
16
|
+
* })
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* #### Using OIDC
|
|
20
|
+
*
|
|
21
|
+
* ```ts {5-7}
|
|
22
|
+
* import { GoogleOidcProvider } from "@openauthjs/openauth/provider/google"
|
|
23
|
+
*
|
|
24
|
+
* export default issuer({
|
|
25
|
+
* providers: {
|
|
26
|
+
* google: GoogleOidcProvider({
|
|
27
|
+
* clientID: "1234567890"
|
|
28
|
+
* })
|
|
29
|
+
* }
|
|
30
|
+
* })
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* @packageDocumentation
|
|
34
|
+
*/
|
|
35
|
+
import { Oauth2WrappedConfig } from "./oauth2.js";
|
|
36
|
+
import { OidcWrappedConfig } from "./oidc.js";
|
|
37
|
+
export interface GoogleConfig extends Oauth2WrappedConfig {
|
|
38
|
+
}
|
|
39
|
+
export interface GoogleOidcConfig extends OidcWrappedConfig {
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Create a Google OAuth2 provider.
|
|
43
|
+
*
|
|
44
|
+
* @param config - The config for the provider.
|
|
45
|
+
* @example
|
|
46
|
+
* ```ts
|
|
47
|
+
* GoogleProvider({
|
|
48
|
+
* clientID: "1234567890",
|
|
49
|
+
* clientSecret: "0987654321"
|
|
50
|
+
* })
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export declare function GoogleProvider(config: GoogleConfig): import("./provider.js").Provider<{
|
|
54
|
+
tokenset: import("./oauth2.js").Oauth2Token;
|
|
55
|
+
clientID: string;
|
|
56
|
+
}>;
|
|
57
|
+
/**
|
|
58
|
+
* Create a Google OIDC provider.
|
|
59
|
+
*
|
|
60
|
+
* This is useful if you just want to verify the user's email address.
|
|
61
|
+
*
|
|
62
|
+
* @param config - The config for the provider.
|
|
63
|
+
* @example
|
|
64
|
+
* ```ts
|
|
65
|
+
* GoogleOidcProvider({
|
|
66
|
+
* clientID: "1234567890"
|
|
67
|
+
* })
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
export declare function GoogleOidcProvider(config: GoogleOidcConfig): import("./provider.js").Provider<{
|
|
71
|
+
id: import("hono/utils/jwt/types").JWTPayload;
|
|
72
|
+
clientID: string;
|
|
73
|
+
}>;
|
|
74
|
+
//# sourceMappingURL=google.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../../../src/provider/google.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,EAAkB,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjE,OAAO,EAAgB,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE3D,MAAM,WAAW,YAAa,SAAQ,mBAAmB;CAAG;AAC5D,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;CAAG;AAE9D;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY;;;GAUlD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,gBAAgB;;;GAM1D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/provider/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,YAAY,EAAE,QAAQ,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAA;AACzD,cAAc,cAAc,CAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Use this provider to authenticate with JumpCloud.
|
|
3
|
+
*
|
|
4
|
+
* ```ts {5-8}
|
|
5
|
+
* import { JumpCloudProvider } from "@openauthjs/openauth/provider/jumpcloud"
|
|
6
|
+
*
|
|
7
|
+
* export default issuer({
|
|
8
|
+
* providers: {
|
|
9
|
+
* jumpcloud: JumpCloudProvider({
|
|
10
|
+
* clientID: "1234567890",
|
|
11
|
+
* clientSecret: "0987654321"
|
|
12
|
+
* })
|
|
13
|
+
* }
|
|
14
|
+
* })
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* @packageDocumentation
|
|
18
|
+
*/
|
|
19
|
+
import { Oauth2WrappedConfig } from "./oauth2.js";
|
|
20
|
+
export interface JumpCloudConfig extends Oauth2WrappedConfig {
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Create a JumpCloud OAuth2 provider.
|
|
24
|
+
*
|
|
25
|
+
* @param config - The config for the provider.
|
|
26
|
+
* @example
|
|
27
|
+
* ```ts
|
|
28
|
+
* JumpCloudProvider({
|
|
29
|
+
* clientID: "1234567890",
|
|
30
|
+
* clientSecret: "0987654321"
|
|
31
|
+
* })
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare function JumpCloudProvider(config: JumpCloudConfig): import("./provider.js").Provider<{
|
|
35
|
+
tokenset: import("./oauth2.js").Oauth2Token;
|
|
36
|
+
clientID: string;
|
|
37
|
+
}>;
|
|
38
|
+
//# sourceMappingURL=jumpcloud.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jumpcloud.d.ts","sourceRoot":"","sources":["../../../src/provider/jumpcloud.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,iBAAiB,CAAC,MAAM,EAAE,eAAe;;;GASxD"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Use this provider to authenticate with a Keycloak server.
|
|
3
|
+
*
|
|
4
|
+
* ```ts {5-10}
|
|
5
|
+
* import { KeycloakProvider } from "@openauthjs/openauth/provider/keycloak"
|
|
6
|
+
*
|
|
7
|
+
* export default issuer({
|
|
8
|
+
* providers: {
|
|
9
|
+
* keycloak: KeycloakProvider({
|
|
10
|
+
* baseUrl: "https://your-keycloak-domain",
|
|
11
|
+
* realm: "your-realm",
|
|
12
|
+
* clientID: "1234567890",
|
|
13
|
+
* clientSecret: "0987654321"
|
|
14
|
+
* })
|
|
15
|
+
* }
|
|
16
|
+
* })
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* @packageDocumentation
|
|
20
|
+
*/
|
|
21
|
+
import { Oauth2WrappedConfig } from "./oauth2.js";
|
|
22
|
+
export interface KeycloakConfig extends Oauth2WrappedConfig {
|
|
23
|
+
/**
|
|
24
|
+
* The base URL of the Keycloak server.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```ts
|
|
28
|
+
* {
|
|
29
|
+
* baseUrl: "https://your-keycloak-domain"
|
|
30
|
+
* }
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
baseUrl: string;
|
|
34
|
+
/**
|
|
35
|
+
* The realm in the Keycloak server to authenticate against.
|
|
36
|
+
*
|
|
37
|
+
* A realm in Keycloak is like a tenant or namespace that manages a set of
|
|
38
|
+
* users, credentials, roles, and groups.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```ts
|
|
42
|
+
* {
|
|
43
|
+
* realm: "your-realm"
|
|
44
|
+
* }
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
realm: string;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Create a Keycloak OAuth2 provider.
|
|
51
|
+
*
|
|
52
|
+
* @param config - The config for the provider.
|
|
53
|
+
* @example
|
|
54
|
+
* ```ts
|
|
55
|
+
* KeycloakProvider({
|
|
56
|
+
* baseUrl: "https://your-keycloak-domain",
|
|
57
|
+
* realm: "your-realm",
|
|
58
|
+
* clientID: "1234567890",
|
|
59
|
+
* clientSecret: "0987654321"
|
|
60
|
+
* })
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export declare function KeycloakProvider(config: KeycloakConfig): import("./provider.js").Provider<{
|
|
64
|
+
tokenset: import("./oauth2.js").Oauth2Token;
|
|
65
|
+
clientID: string;
|
|
66
|
+
}>;
|
|
67
|
+
//# sourceMappingURL=keycloak.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keycloak.d.ts","sourceRoot":"","sources":["../../../src/provider/keycloak.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAkB,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEjE,MAAM,WAAW,cAAe,SAAQ,mBAAmB;IACzD;;;;;;;;;OASG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;;;;;;;;;;;OAYG;IACH,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc;;;GAStD"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type Oauth2WrappedConfig } from "./oauth2.js";
|
|
2
|
+
export declare function LinkedInAdapter(config: Oauth2WrappedConfig): import("./provider.js").Provider<{
|
|
3
|
+
tokenset: import("./oauth2.js").Oauth2Token;
|
|
4
|
+
clientID: string;
|
|
5
|
+
}>;
|
|
6
|
+
//# sourceMappingURL=linkedin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linkedin.d.ts","sourceRoot":"","sources":["../../../src/provider/linkedin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEtE,wBAAgB,eAAe,CAAC,MAAM,EAAE,mBAAmB;;;GAS1D"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Provider } from "./provider.js";
|
|
2
|
+
export interface M2MProviderConfig {
|
|
3
|
+
/**
|
|
4
|
+
* Callback to verify client credentials.
|
|
5
|
+
* Should return data about the client (e.g., associated User or Org ID).
|
|
6
|
+
* Returning undefined or throwing indicates invalid credentials.
|
|
7
|
+
*/
|
|
8
|
+
verify: (clientID: string, clientSecret: string, params: Record<string, string>) => Promise<{
|
|
9
|
+
id: string;
|
|
10
|
+
[key: string]: any;
|
|
11
|
+
} | undefined>;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Creates a provider for Machine-to-Machine (M2M) authentication using the
|
|
15
|
+
* OAuth 2.0 `client_credentials` grant type.
|
|
16
|
+
*
|
|
17
|
+
* This provider does not have a UI and is intended for service-to-service
|
|
18
|
+
* communication where the client can securely store a secret.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* const m2m = M2MProvider({
|
|
23
|
+
* verify: async (clientID, clientSecret) => {
|
|
24
|
+
* const client = await db.clients.findUnique({ where: { clientID } })
|
|
25
|
+
* if (client && client.secret === clientSecret) return client
|
|
26
|
+
* }
|
|
27
|
+
* })
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export declare function M2MProvider(config: M2MProviderConfig): Provider<{
|
|
31
|
+
id: string;
|
|
32
|
+
[key: string]: any;
|
|
33
|
+
}>;
|
|
34
|
+
//# sourceMappingURL=m2m.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"m2m.d.ts","sourceRoot":"","sources":["../../../src/provider/m2m.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,MAAM,EAAE,CACN,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAC3B,OAAO,CACR;QACE,EAAE,EAAE,MAAM,CAAA;QACV,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KACnB,GACD,SAAS,CACZ,CAAA;CACF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,QAAQ,CAAC;IAC/D,EAAE,EAAE,MAAM,CAAA;IACV,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB,CAAC,CAcD"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Use this provider to authenticate with Microsoft. Supports both OAuth2 and OIDC.
|
|
3
|
+
*
|
|
4
|
+
* #### Using OAuth
|
|
5
|
+
*
|
|
6
|
+
* ```ts {5-9}
|
|
7
|
+
* import { MicrosoftProvider } from "@openauthjs/openauth/provider/microsoft"
|
|
8
|
+
*
|
|
9
|
+
* export default issuer({
|
|
10
|
+
* providers: {
|
|
11
|
+
* microsoft: MicrosoftProvider({
|
|
12
|
+
* tenant: "1234567890",
|
|
13
|
+
* clientID: "1234567890",
|
|
14
|
+
* clientSecret: "0987654321"
|
|
15
|
+
* })
|
|
16
|
+
* }
|
|
17
|
+
* })
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* #### Using OIDC
|
|
21
|
+
*
|
|
22
|
+
* ```ts {5-7}
|
|
23
|
+
* import { MicrosoftOidcProvider } from "@openauthjs/openauth/provider/microsoft"
|
|
24
|
+
*
|
|
25
|
+
* export default issuer({
|
|
26
|
+
* providers: {
|
|
27
|
+
* microsoft: MicrosoftOidcProvider({
|
|
28
|
+
* clientID: "1234567890"
|
|
29
|
+
* })
|
|
30
|
+
* }
|
|
31
|
+
* })
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* @packageDocumentation
|
|
35
|
+
*/
|
|
36
|
+
import { Oauth2WrappedConfig } from "./oauth2.js";
|
|
37
|
+
import { OidcWrappedConfig } from "./oidc.js";
|
|
38
|
+
export interface MicrosoftConfig extends Oauth2WrappedConfig {
|
|
39
|
+
/**
|
|
40
|
+
* The tenant ID of the Microsoft account.
|
|
41
|
+
*
|
|
42
|
+
* This is usually the same as the client ID.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```ts
|
|
46
|
+
* {
|
|
47
|
+
* tenant: "1234567890"
|
|
48
|
+
* }
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
tenant: string;
|
|
52
|
+
}
|
|
53
|
+
export interface MicrosoftOidcConfig extends OidcWrappedConfig {
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Create a Microsoft OAuth2 provider.
|
|
57
|
+
*
|
|
58
|
+
* @param config - The config for the provider.
|
|
59
|
+
* @example
|
|
60
|
+
* ```ts
|
|
61
|
+
* MicrosoftProvider({
|
|
62
|
+
* tenant: "1234567890",
|
|
63
|
+
* clientID: "1234567890",
|
|
64
|
+
* clientSecret: "0987654321"
|
|
65
|
+
* })
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
export declare function MicrosoftProvider(config: MicrosoftConfig): import("./provider.js").Provider<{
|
|
69
|
+
tokenset: import("./oauth2.js").Oauth2Token;
|
|
70
|
+
clientID: string;
|
|
71
|
+
}>;
|
|
72
|
+
/**
|
|
73
|
+
* Create a Microsoft OIDC provider.
|
|
74
|
+
*
|
|
75
|
+
* This is useful if you just want to verify the user's email address.
|
|
76
|
+
*
|
|
77
|
+
* @param config - The config for the provider.
|
|
78
|
+
* @example
|
|
79
|
+
* ```ts
|
|
80
|
+
* MicrosoftOidcProvider({
|
|
81
|
+
* clientID: "1234567890"
|
|
82
|
+
* })
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
export declare function MicrosoftOidcProvider(config: MicrosoftOidcConfig): import("./provider.js").Provider<{
|
|
86
|
+
id: import("hono/utils/jwt/types").JWTPayload;
|
|
87
|
+
clientID: string;
|
|
88
|
+
}>;
|
|
89
|
+
//# sourceMappingURL=microsoft.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"microsoft.d.ts","sourceRoot":"","sources":["../../../src/provider/microsoft.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,EAAkB,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjE,OAAO,EAAgB,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE3D,MAAM,WAAW,eAAgB,SAAQ,mBAAmB;IAC1D;;;;;;;;;;;OAWG;IACH,MAAM,EAAE,MAAM,CAAA;CACf;AACD,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;CAAG;AAEjE;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe;;;GASxD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,mBAAmB;;;GAMhE"}
|