From 9753a69c121f6e2e10cadc2d5394958fc9e8cb19 Mon Sep 17 00:00:00 2001 From: Mike Rudat Date: Thu, 6 Aug 2026 09:06:07 -0600 Subject: [PATCH 1/6] feat: re-generate SDK documentation --- .../FusionAuthAccountButtonComponent.md | 6 +- .../classes/FusionAuthLoginButtonComponent.md | 8 +- .../FusionAuthLogoutButtonComponent.md | 6 +- .../docs/classes/FusionAuthModule.md | 2 +- .../FusionAuthRegisterButtonComponent.md | 8 +- .../docs/classes/FusionAuthService.md | 128 +++++++++++++-- .../docs/interfaces/FusionAuthConfig.md | 85 ++++++++-- .../sdk-angular/docs/interfaces/UserInfo.md | 66 ++++---- packages/sdk-angular/package.json | 2 +- packages/sdk-angular/tsconfig.doc.json | 12 ++ packages/sdk-angular/tsconfig.json | 7 +- packages/sdk-react/docs/README.md | 83 +++++++--- ...ProviderConfig.FusionAuthProviderConfig.md | 93 ++++++++--- ...oviderContext.FusionAuthProviderContext.md | 105 +++++++++++-- .../modules/providers_FusionAuthProvider.md | 4 +- .../docs/modules/ui_FusionAuthLoginButton.md | 2 +- .../docs/modules/ui_FusionAuthLogoutButton.md | 2 +- .../modules/ui_FusionAuthRegisterButton.md | 2 +- .../sdk-react/docs/modules/ui_RequireAuth.md | 2 +- .../docs/modules/ui_Unauthenticated.md | 2 +- packages/sdk-vue/docs/README.md | 147 ++++++++++++------ .../sdk-vue/docs/interfaces/FusionAuth.md | 113 ++++++++++++-- .../docs/interfaces/FusionAuthConfig.md | 89 +++++++++-- packages/sdk-vue/docs/interfaces/UserInfo.md | 66 ++++---- packages/sdk-vue/docs/modules.md | 8 +- 25 files changed, 786 insertions(+), 262 deletions(-) create mode 100644 packages/sdk-angular/tsconfig.doc.json diff --git a/packages/sdk-angular/docs/classes/FusionAuthAccountButtonComponent.md b/packages/sdk-angular/docs/classes/FusionAuthAccountButtonComponent.md index 476907d..9ed243d 100644 --- a/packages/sdk-angular/docs/classes/FusionAuthAccountButtonComponent.md +++ b/packages/sdk-angular/docs/classes/FusionAuthAccountButtonComponent.md @@ -34,7 +34,7 @@ #### Defined in -[lib/components/fusionauth-account.button/fusion-auth-account-button.component.ts:10](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/components/fusionauth-account.button/fusion-auth-account-button.component.ts#L10) +[lib/components/fusionauth-account.button/fusion-auth-account-button.component.ts:11](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/components/fusionauth-account.button/fusion-auth-account-button.component.ts#L11) ## Properties @@ -44,7 +44,7 @@ #### Defined in -[lib/components/fusionauth-account.button/fusion-auth-account-button.component.ts:10](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/components/fusionauth-account.button/fusion-auth-account-button.component.ts#L10) +[lib/components/fusionauth-account.button/fusion-auth-account-button.component.ts:11](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/components/fusionauth-account.button/fusion-auth-account-button.component.ts#L11) ## Methods @@ -58,4 +58,4 @@ #### Defined in -[lib/components/fusionauth-account.button/fusion-auth-account-button.component.ts:12](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/components/fusionauth-account.button/fusion-auth-account-button.component.ts#L12) +[lib/components/fusionauth-account.button/fusion-auth-account-button.component.ts:13](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/components/fusionauth-account.button/fusion-auth-account-button.component.ts#L13) diff --git a/packages/sdk-angular/docs/classes/FusionAuthLoginButtonComponent.md b/packages/sdk-angular/docs/classes/FusionAuthLoginButtonComponent.md index 0722cf8..bfe44f6 100644 --- a/packages/sdk-angular/docs/classes/FusionAuthLoginButtonComponent.md +++ b/packages/sdk-angular/docs/classes/FusionAuthLoginButtonComponent.md @@ -35,7 +35,7 @@ #### Defined in -[lib/components/fusionauth-login.button/fusion-auth-login-button.component.ts:12](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/components/fusionauth-login.button/fusion-auth-login-button.component.ts#L12) +[lib/components/fusionauth-login.button/fusion-auth-login-button.component.ts:13](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/components/fusionauth-login.button/fusion-auth-login-button.component.ts#L13) ## Properties @@ -45,7 +45,7 @@ #### Defined in -[lib/components/fusionauth-login.button/fusion-auth-login-button.component.ts:12](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/components/fusionauth-login.button/fusion-auth-login-button.component.ts#L12) +[lib/components/fusionauth-login.button/fusion-auth-login-button.component.ts:13](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/components/fusionauth-login.button/fusion-auth-login-button.component.ts#L13) --- @@ -55,7 +55,7 @@ #### Defined in -[lib/components/fusionauth-login.button/fusion-auth-login-button.component.ts:10](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/components/fusionauth-login.button/fusion-auth-login-button.component.ts#L10) +[lib/components/fusionauth-login.button/fusion-auth-login-button.component.ts:11](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/components/fusionauth-login.button/fusion-auth-login-button.component.ts#L11) ## Methods @@ -69,4 +69,4 @@ #### Defined in -[lib/components/fusionauth-login.button/fusion-auth-login-button.component.ts:14](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/components/fusionauth-login.button/fusion-auth-login-button.component.ts#L14) +[lib/components/fusionauth-login.button/fusion-auth-login-button.component.ts:15](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/components/fusionauth-login.button/fusion-auth-login-button.component.ts#L15) diff --git a/packages/sdk-angular/docs/classes/FusionAuthLogoutButtonComponent.md b/packages/sdk-angular/docs/classes/FusionAuthLogoutButtonComponent.md index fec4fe4..265cd43 100644 --- a/packages/sdk-angular/docs/classes/FusionAuthLogoutButtonComponent.md +++ b/packages/sdk-angular/docs/classes/FusionAuthLogoutButtonComponent.md @@ -34,7 +34,7 @@ #### Defined in -[lib/components/fusionauth-logout.button/fusion-auth-logout-button.component.ts:10](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/components/fusionauth-logout.button/fusion-auth-logout-button.component.ts#L10) +[lib/components/fusionauth-logout.button/fusion-auth-logout-button.component.ts:14](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/components/fusionauth-logout.button/fusion-auth-logout-button.component.ts#L14) ## Properties @@ -44,7 +44,7 @@ #### Defined in -[lib/components/fusionauth-logout.button/fusion-auth-logout-button.component.ts:10](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/components/fusionauth-logout.button/fusion-auth-logout-button.component.ts#L10) +[lib/components/fusionauth-logout.button/fusion-auth-logout-button.component.ts:14](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/components/fusionauth-logout.button/fusion-auth-logout-button.component.ts#L14) ## Methods @@ -58,4 +58,4 @@ #### Defined in -[lib/components/fusionauth-logout.button/fusion-auth-logout-button.component.ts:12](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/components/fusionauth-logout.button/fusion-auth-logout-button.component.ts#L12) +[lib/components/fusionauth-logout.button/fusion-auth-logout-button.component.ts:16](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/components/fusionauth-logout.button/fusion-auth-logout-button.component.ts#L16) diff --git a/packages/sdk-angular/docs/classes/FusionAuthModule.md b/packages/sdk-angular/docs/classes/FusionAuthModule.md index 7465f17..bcbb190 100644 --- a/packages/sdk-angular/docs/classes/FusionAuthModule.md +++ b/packages/sdk-angular/docs/classes/FusionAuthModule.md @@ -40,4 +40,4 @@ #### Defined in -[lib/fusion-auth.module.ts:26](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/fusion-auth.module.ts#L26) +[lib/fusion-auth.module.ts:26](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/fusion-auth.module.ts#L26) diff --git a/packages/sdk-angular/docs/classes/FusionAuthRegisterButtonComponent.md b/packages/sdk-angular/docs/classes/FusionAuthRegisterButtonComponent.md index 8b75c77..394f2eb 100644 --- a/packages/sdk-angular/docs/classes/FusionAuthRegisterButtonComponent.md +++ b/packages/sdk-angular/docs/classes/FusionAuthRegisterButtonComponent.md @@ -35,7 +35,7 @@ #### Defined in -[lib/components/fusionauth-register.button/fusion-auth-register-button.component.ts:12](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/components/fusionauth-register.button/fusion-auth-register-button.component.ts#L12) +[lib/components/fusionauth-register.button/fusion-auth-register-button.component.ts:16](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/components/fusionauth-register.button/fusion-auth-register-button.component.ts#L16) ## Properties @@ -45,7 +45,7 @@ #### Defined in -[lib/components/fusionauth-register.button/fusion-auth-register-button.component.ts:12](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/components/fusionauth-register.button/fusion-auth-register-button.component.ts#L12) +[lib/components/fusionauth-register.button/fusion-auth-register-button.component.ts:16](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/components/fusionauth-register.button/fusion-auth-register-button.component.ts#L16) --- @@ -55,7 +55,7 @@ #### Defined in -[lib/components/fusionauth-register.button/fusion-auth-register-button.component.ts:10](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/components/fusionauth-register.button/fusion-auth-register-button.component.ts#L10) +[lib/components/fusionauth-register.button/fusion-auth-register-button.component.ts:14](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/components/fusionauth-register.button/fusion-auth-register-button.component.ts#L14) ## Methods @@ -69,4 +69,4 @@ #### Defined in -[lib/components/fusionauth-register.button/fusion-auth-register-button.component.ts:14](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/components/fusionauth-register.button/fusion-auth-register-button.component.ts#L14) +[lib/components/fusionauth-register.button/fusion-auth-register-button.component.ts:18](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/components/fusionauth-register.button/fusion-auth-register-button.component.ts#L18) diff --git a/packages/sdk-angular/docs/classes/FusionAuthService.md b/packages/sdk-angular/docs/classes/FusionAuthService.md index 3ca445c..dfde9d3 100644 --- a/packages/sdk-angular/docs/classes/FusionAuthService.md +++ b/packages/sdk-angular/docs/classes/FusionAuthService.md @@ -21,10 +21,14 @@ Service class to use with FusionAuth backend endpoints. - [autoRefreshTimer](FusionAuthService.md#autorefreshtimer) - [core](FusionAuthService.md#core) - [isLoggedIn$](FusionAuthService.md#isloggedin$) -- [isLoggedInSubject](FusionAuthService.md#isloggedinsubject) +- [isLoggedInSignal](FusionAuthService.md#isloggedinsignal) +- [isLoggedInState](FusionAuthService.md#isloggedinstate) ### Methods +- [dpopFetch](FusionAuthService.md#dpopfetch) +- [generateProof](FusionAuthService.md#generateproof) +- [getAccessToken](FusionAuthService.md#getaccesstoken) - [getUserInfo](FusionAuthService.md#getuserinfo) - [getUserInfoObservable](FusionAuthService.md#getuserinfoobservable) - [initAutoRefresh](FusionAuthService.md#initautorefresh) @@ -60,7 +64,7 @@ Service class to use with FusionAuth backend endpoints. #### Defined in -[lib/fusion-auth.service.ts:21](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/fusion-auth.service.ts#L21) +[lib/fusion-auth.service.ts:29](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/fusion-auth.service.ts#L29) ## Properties @@ -70,7 +74,7 @@ Service class to use with FusionAuth backend endpoints. #### Defined in -[lib/fusion-auth.service.ts:18](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/fusion-auth.service.ts#L18) +[lib/fusion-auth.service.ts:26](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/fusion-auth.service.ts#L26) --- @@ -80,7 +84,7 @@ Service class to use with FusionAuth backend endpoints. #### Defined in -[lib/fusion-auth.service.ts:17](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/fusion-auth.service.ts#L17) +[lib/fusion-auth.service.ts:25](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/fusion-auth.service.ts#L25) --- @@ -92,20 +96,110 @@ An observable representing whether the user is logged in. #### Defined in -[lib/fusion-auth.service.ts:44](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/fusion-auth.service.ts#L44) +[lib/fusion-auth.service.ts:58](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/fusion-auth.service.ts#L58) --- -### isLoggedInSubject +### isLoggedInSignal -• `Private` **isLoggedInSubject**: `BehaviorSubject`\<`boolean`\> +• **isLoggedInSignal**: `Signal`\<`boolean`\> + +A Signal representing whether the user is logged in. + +#### Defined in + +[lib/fusion-auth.service.ts:63](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/fusion-auth.service.ts#L63) + +--- + +### isLoggedInState + +• `Private` **isLoggedInState**: `WritableSignal`\<`boolean`\> #### Defined in -[lib/fusion-auth.service.ts:19](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/fusion-auth.service.ts#L19) +[lib/fusion-auth.service.ts:27](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/fusion-auth.service.ts#L27) ## Methods +### dpopFetch + +▸ **dpopFetch**(`input`, `init?`): `Promise`\<`Response`\> + +DPoP mode `fetch()` wrapper that automatically attaches DPoP proof +headers. + +#### Parameters + +| Name | Type | +| :------ | :--------------------- | +| `input` | `URL` \| `RequestInfo` | +| `init?` | `RequestInit` | + +#### Returns + +`Promise`\<`Response`\> + +**`Throws`** + +if called when `useDpop` is not enabled. + +#### Defined in + +[lib/fusion-auth.service.ts:163](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/fusion-auth.service.ts#L163) + +--- + +### generateProof + +▸ **generateProof**(`htu`, `htm`, `accessToken?`, `nonce?`): `Promise`\<`string`\> + +Returns a signed DPoP proof JWT for use with axios or other +HTTP libraries that can't use [dpopFetch](FusionAuthService.md#dpopfetch). + +#### Parameters + +| Name | Type | +| :------------- | :------- | +| `htu` | `string` | +| `htm` | `string` | +| `accessToken?` | `string` | +| `nonce?` | `string` | + +#### Returns + +`Promise`\<`string`\> + +**`Throws`** + +if called when `useDpop` is not enabled. + +#### Defined in + +[lib/fusion-auth.service.ts:175](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/fusion-auth.service.ts#L175) + +--- + +### getAccessToken + +▸ **getAccessToken**(): `null` \| `string` + +Returns the stored DPoP access token, or `null` if not logged in. + +#### Returns + +`null` \| `string` + +**`Throws`** + +if called when `useDpop` is not enabled. + +#### Defined in + +[lib/fusion-auth.service.ts:188](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/fusion-auth.service.ts#L188) + +--- + ### getUserInfo ▸ **getUserInfo**\<`T`\>(): `Promise`\<`T`\> @@ -128,7 +222,7 @@ Fetches userInfo from the 'me' endpoint. #### Defined in -[lib/fusion-auth.service.ts:102](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/fusion-auth.service.ts#L102) +[lib/fusion-auth.service.ts:123](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/fusion-auth.service.ts#L123) --- @@ -152,7 +246,7 @@ Returns an observable request that fetches userInfo, and catches error. #### Defined in -[lib/fusion-auth.service.ts:74](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/fusion-auth.service.ts#L74) +[lib/fusion-auth.service.ts:95](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/fusion-auth.service.ts#L95) --- @@ -169,7 +263,7 @@ This is handled automatically if the SDK is configured with `shouldAutoRefresh`. #### Defined in -[lib/fusion-auth.service.ts:63](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/fusion-auth.service.ts#L63) +[lib/fusion-auth.service.ts:84](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/fusion-auth.service.ts#L84) --- @@ -185,7 +279,7 @@ A function that returns whether the user is logged in. This returned value is no #### Defined in -[lib/fusion-auth.service.ts:47](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/fusion-auth.service.ts#L47) +[lib/fusion-auth.service.ts:66](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/fusion-auth.service.ts#L66) --- @@ -201,7 +295,7 @@ Initiates logout flow. #### Defined in -[lib/fusion-auth.service.ts:125](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/fusion-auth.service.ts#L125) +[lib/fusion-auth.service.ts:146](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/fusion-auth.service.ts#L146) --- @@ -218,7 +312,7 @@ Self service account management is only available in FusionAuth paid plans. #### Defined in -[lib/fusion-auth.service.ts:133](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/fusion-auth.service.ts#L133) +[lib/fusion-auth.service.ts:154](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/fusion-auth.service.ts#L154) --- @@ -235,7 +329,7 @@ Automatic token refreshing can be enabled if the SDK is configured with `shouldA #### Defined in -[lib/fusion-auth.service.ts:55](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/fusion-auth.service.ts#L55) +[lib/fusion-auth.service.ts:74](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/fusion-auth.service.ts#L74) --- @@ -257,7 +351,7 @@ Initiates login flow. #### Defined in -[lib/fusion-auth.service.ts:110](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/fusion-auth.service.ts#L110) +[lib/fusion-auth.service.ts:131](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/fusion-auth.service.ts#L131) --- @@ -279,4 +373,4 @@ Initiates register flow. #### Defined in -[lib/fusion-auth.service.ts:118](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/fusion-auth.service.ts#L118) +[lib/fusion-auth.service.ts:139](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/fusion-auth.service.ts#L139) diff --git a/packages/sdk-angular/docs/interfaces/FusionAuthConfig.md b/packages/sdk-angular/docs/interfaces/FusionAuthConfig.md index 15f59eb..06a77b5 100644 --- a/packages/sdk-angular/docs/interfaces/FusionAuthConfig.md +++ b/packages/sdk-angular/docs/interfaces/FusionAuthConfig.md @@ -10,10 +10,12 @@ Config for FusionAuth Angular SDK - [autoRefreshSecondsBeforeExpiry](FusionAuthConfig.md#autorefreshsecondsbeforeexpiry) - [clientId](FusionAuthConfig.md#clientid) +- [dpopTokenStorage](FusionAuthConfig.md#dpoptokenstorage) - [loginPath](FusionAuthConfig.md#loginpath) - [logoutPath](FusionAuthConfig.md#logoutpath) - [mePath](FusionAuthConfig.md#mepath) - [onAutoRefreshFailure](FusionAuthConfig.md#onautorefreshfailure) +- [onLoginFailure](FusionAuthConfig.md#onloginfailure) - [onRedirect](FusionAuthConfig.md#onredirect) - [postLogoutRedirectUri](FusionAuthConfig.md#postlogoutredirecturi) - [redirectUri](FusionAuthConfig.md#redirecturi) @@ -22,6 +24,7 @@ Config for FusionAuth Angular SDK - [serverUrl](FusionAuthConfig.md#serverurl) - [shouldAutoRefresh](FusionAuthConfig.md#shouldautorefresh) - [tokenRefreshPath](FusionAuthConfig.md#tokenrefreshpath) +- [useDpop](FusionAuthConfig.md#usedpop) ## Properties @@ -33,7 +36,7 @@ The number of seconds before the access token expiry when the auto refresh funct #### Defined in -[lib/types.ts:38](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L38) +[lib/types.ts:38](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L38) --- @@ -45,7 +48,20 @@ The client id of the application. #### Defined in -[lib/types.ts:13](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L13) +[lib/types.ts:13](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L13) + +--- + +### dpopTokenStorage + +• `Optional` **dpopTokenStorage**: `"localStorage"` \| `"memory"` + +Token storage location in DPoP mode. Only meaningful when `useDpop: true`. +Defaults to `'localStorage'`. + +#### Defined in + +[lib/types.ts:92](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L92) --- @@ -57,7 +73,7 @@ The path to the login endpoint. #### Defined in -[lib/types.ts:53](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L53) +[lib/types.ts:59](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L59) --- @@ -69,7 +85,7 @@ The path to the logout endpoint. #### Defined in -[lib/types.ts:63](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L63) +[lib/types.ts:69](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L69) --- @@ -81,7 +97,7 @@ The path to the me endpoint. #### Defined in -[lib/types.ts:73](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L73) +[lib/types.ts:79](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L79) --- @@ -107,7 +123,34 @@ Callback to be invoked if a request to refresh the access token fails during aut #### Defined in -[lib/types.ts:48](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L48) +[lib/types.ts:48](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L48) + +--- + +### onLoginFailure + +• `Optional` **onLoginFailure**: (`error`: `Error`) => `void` + +Callback invoked if a DPoP mode login/register/redirect exchange fails. +Only relevant when `useDpop: true`. + +#### Type declaration + +▸ (`error`): `void` + +##### Parameters + +| Name | Type | +| :------ | :------ | +| `error` | `Error` | + +##### Returns + +`void` + +#### Defined in + +[lib/types.ts:54](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L54) --- @@ -133,7 +176,7 @@ Callback function to be invoked with the `state` value upon redirect from login #### Defined in -[lib/types.ts:43](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L43) +[lib/types.ts:43](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L43) --- @@ -145,7 +188,7 @@ The redirect URI for post-logout. Defaults the provided `redirectUri`. #### Defined in -[lib/types.ts:23](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L23) +[lib/types.ts:23](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L23) --- @@ -157,7 +200,7 @@ The redirect URI of the application. #### Defined in -[lib/types.ts:18](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L18) +[lib/types.ts:18](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L18) --- @@ -169,7 +212,7 @@ The path to the register endpoint. #### Defined in -[lib/types.ts:58](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L58) +[lib/types.ts:64](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L64) --- @@ -181,7 +224,7 @@ The OAuth2 scope parameter passed to the `/oauth2/authorize` endpoint. If not sp #### Defined in -[lib/types.ts:28](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L28) +[lib/types.ts:28](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L28) --- @@ -193,7 +236,7 @@ The URL of the server that performs the token exchange. #### Defined in -[lib/types.ts:8](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L8) +[lib/types.ts:8](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L8) --- @@ -205,7 +248,7 @@ Enables automatic token refreshing. Defaults to false. #### Defined in -[lib/types.ts:33](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L33) +[lib/types.ts:33](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L33) --- @@ -217,4 +260,18 @@ The path to the token refresh endpoint. #### Defined in -[lib/types.ts:68](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L68) +[lib/types.ts:74](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L74) + +--- + +### useDpop + +• `Optional` **useDpop**: `boolean` + +Opt-in to DPoP mode. When `true`, the SDK calls FusionAuth endpoints +directly and stores tokens in JavaScript-accessible storage instead of +relying on the Hosted Backend's HttpOnly cookies. Defaults to `false`. + +#### Defined in + +[lib/types.ts:86](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L86) diff --git a/packages/sdk-angular/docs/interfaces/UserInfo.md b/packages/sdk-angular/docs/interfaces/UserInfo.md index 3eaac8f..cba38fd 100644 --- a/packages/sdk-angular/docs/interfaces/UserInfo.md +++ b/packages/sdk-angular/docs/interfaces/UserInfo.md @@ -9,14 +9,14 @@ - [applicationId](UserInfo.md#applicationid) - [birthdate](UserInfo.md#birthdate) - [email](UserInfo.md#email) -- [email_verified](UserInfo.md#email_verified) -- [family_name](UserInfo.md#family_name) -- [given_name](UserInfo.md#given_name) -- [middle_name](UserInfo.md#middle_name) +- [email\_verified](UserInfo.md#email_verified) +- [family\_name](UserInfo.md#family_name) +- [given\_name](UserInfo.md#given_name) +- [middle\_name](UserInfo.md#middle_name) - [name](UserInfo.md#name) -- [phone_number](UserInfo.md#phone_number) +- [phone\_number](UserInfo.md#phone_number) - [picture](UserInfo.md#picture) -- [preferred_username](UserInfo.md#preferred_username) +- [preferred\_username](UserInfo.md#preferred_username) - [roles](UserInfo.md#roles) - [sid](UserInfo.md#sid) - [sub](UserInfo.md#sub) @@ -30,7 +30,7 @@ #### Defined in -[lib/types.ts:77](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L77) +[lib/types.ts:96](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L96) --- @@ -40,7 +40,7 @@ #### Defined in -[lib/types.ts:78](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L78) +[lib/types.ts:97](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L97) --- @@ -50,47 +50,47 @@ #### Defined in -[lib/types.ts:79](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L79) +[lib/types.ts:98](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L98) --- -### email_verified +### email\_verified -• `Optional` **email_verified**: `boolean` +• `Optional` **email\_verified**: `boolean` #### Defined in -[lib/types.ts:80](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L80) +[lib/types.ts:99](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L99) --- -### family_name +### family\_name -• `Optional` **family_name**: `string` +• `Optional` **family\_name**: `string` #### Defined in -[lib/types.ts:81](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L81) +[lib/types.ts:100](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L100) --- -### given_name +### given\_name -• `Optional` **given_name**: `string` +• `Optional` **given\_name**: `string` #### Defined in -[lib/types.ts:82](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L82) +[lib/types.ts:101](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L101) --- -### middle_name +### middle\_name -• `Optional` **middle_name**: `string` +• `Optional` **middle\_name**: `string` #### Defined in -[lib/types.ts:83](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L83) +[lib/types.ts:102](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L102) --- @@ -100,17 +100,17 @@ #### Defined in -[lib/types.ts:84](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L84) +[lib/types.ts:103](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L103) --- -### phone_number +### phone\_number -• `Optional` **phone_number**: `string` +• `Optional` **phone\_number**: `string` #### Defined in -[lib/types.ts:85](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L85) +[lib/types.ts:104](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L104) --- @@ -120,17 +120,17 @@ #### Defined in -[lib/types.ts:86](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L86) +[lib/types.ts:105](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L105) --- -### preferred_username +### preferred\_username -• `Optional` **preferred_username**: `string` +• `Optional` **preferred\_username**: `string` #### Defined in -[lib/types.ts:87](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L87) +[lib/types.ts:106](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L106) --- @@ -140,7 +140,7 @@ #### Defined in -[lib/types.ts:88](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L88) +[lib/types.ts:107](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L107) --- @@ -150,7 +150,7 @@ #### Defined in -[lib/types.ts:89](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L89) +[lib/types.ts:108](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L108) --- @@ -160,7 +160,7 @@ #### Defined in -[lib/types.ts:90](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L90) +[lib/types.ts:109](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L109) --- @@ -170,4 +170,4 @@ #### Defined in -[lib/types.ts:91](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/80c01c9ccb450a2187bc0d2cc65fa8c9c38cfabe/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L91) +[lib/types.ts:110](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-angular/projects/fusionauth-angular-sdk/src/lib/types.ts#L110) diff --git a/packages/sdk-angular/package.json b/packages/sdk-angular/package.json index 2224ee8..b3ebbbe 100644 --- a/packages/sdk-angular/package.json +++ b/packages/sdk-angular/package.json @@ -7,7 +7,7 @@ "build": "yarn get-sdk-core && ng build && cp README.md dist/fusionauth-angular-sdk/README.md", "test": "yarn get-sdk-core && ng test --watch=false", "test:watch": "yarn get-sdk-core && ng test", - "docs": "typedoc --plugin typedoc-plugin-markdown" + "docs": "typedoc --plugin typedoc-plugin-markdown --tsconfig tsconfig.doc.json" }, "private": false, "dependencies": { diff --git a/packages/sdk-angular/tsconfig.doc.json b/packages/sdk-angular/tsconfig.doc.json new file mode 100644 index 0000000..b36e096 --- /dev/null +++ b/packages/sdk-angular/tsconfig.doc.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "ignoreDeprecations": "5.0" + }, + "exclude": ["**/*.spec.ts"], + "typedocOptions": { + "plugin": ["typedoc-plugin-markdown"], + "entryPoints": ["projects/fusionauth-angular-sdk/src/public-api.ts"], + "out": "docs" + } +} diff --git a/packages/sdk-angular/tsconfig.json b/packages/sdk-angular/tsconfig.json index 6887e8e..87d5a16 100644 --- a/packages/sdk-angular/tsconfig.json +++ b/packages/sdk-angular/tsconfig.json @@ -27,7 +27,7 @@ "composite": false, "allowImportingTsExtensions": false, "noEmit": false, - "types": ["jasmine"] + "types": ["node"] }, "include": ["./**/*.ts"], "angularCompilerOptions": { @@ -35,10 +35,5 @@ "strictInjectionParameters": true, "strictInputAccessModifiers": true, "strictTemplates": true - }, - "typedocOptions": { - "plugin": ["typedoc-plugin-markdown"], - "entryPoints": ["projects/fusionauth-angular-sdk/src/public-api.ts"], - "out": "docs" } } diff --git a/packages/sdk-react/docs/README.md b/packages/sdk-react/docs/README.md index 0d68dd0..97bd5f2 100644 --- a/packages/sdk-react/docs/README.md +++ b/packages/sdk-react/docs/README.md @@ -11,10 +11,11 @@ An SDK for using FusionAuth in React applications. - [Configuration](#configuration) - [Configuration with NextJS](#configuration-with-nextjs) - [Usage](#usage) - - [useFusionAuth](#usefusionauth) - - [State Parameter](#state-parameter) - - [Protecting content](#protecting-content) - - [UI Components](#ui-components) + - [useFusionAuth](#usefusionauth) + - [State Parameter](#state-parameter) + - [Protecting content](#protecting-content) + - [UI Components](#ui-components) + - [DPoP Mode](#dpop-mode) - [Known issues](#known-issues) - [Documentation](#documentation) - [Formatting](#formatting) @@ -41,18 +42,19 @@ then log in. After that, they are sent back to your React application. Once authentication succeeds, the following secure, HTTP-only cookies will be set: -- `app.at` - an OAuth [Access - Token](https://fusionauth.io/docs/v1/tech/oauth/tokens#access-token) +- `app.at` - an OAuth [Access + Token](https://fusionauth.io/docs/v1/tech/oauth/tokens#access-token) -- `app.rt` - a [Refresh - Token](https://fusionauth.io/docs/v1/tech/oauth/tokens#refresh-token) - used to obtain a new `app.at`. This cookie will only be set if - refresh tokens are enabled on your FusionAuth instance. +- `app.rt` - a [Refresh + Token](https://fusionauth.io/docs/v1/tech/oauth/tokens#refresh-token) + used to obtain a new `app.at`. This cookie will only be set if + refresh tokens are enabled on your FusionAuth instance. The access token can be presented to APIs to authorize the request and the refresh token can be used to get a new access token. There are 2 ways to interact with this SDK: + 1. By hosting your own server that performs the OAuth token exchange and meets the [server code requirements for FusionAuth Web SDKs](https://github.com/FusionAuth/fusionauth-javascript-sdk-express#server-code-requirements). 2. By using the server hosted on your FusionAuth instance, i.e., not writing your own server code. @@ -98,6 +100,7 @@ const config: FusionAuthProviderConfig = { shouldAutoFetchUserInfo: true, // Automatically fetch userInfo when logged in. Defaults to false. shouldAutoRefresh: true, // Enables automatic token refresh. Defaults to false. onRedirect: (state?: string) => { }, // Optional callback invoked upon redirect back from login or register. + // useDpop: true, // Opt-in to DPoP mode. See "DPoP Mode" below. Defaults to false. }; ReactDOM.createRoot(document.getElementById("my-app")).render( @@ -112,7 +115,7 @@ ReactDOM.createRoot(document.getElementById("my-app")).render( To configure the SDK with Next, install [`next-client-cookies`](https://github.com/moshest/next-client-cookies?tab=readme-ov-file#install) and pass `useCookies` into the config object as `nextCookieAdapter`. ```jsx -'use client' +'use client'; import { useCookies } from 'next-client-cookies'; @@ -144,11 +147,11 @@ function MyComponent() { isFetchingUserInfo, startLogin, startRegister, - userInfo - } = useFusionAuth() + userInfo, + } = useFusionAuth(); if (isFetchingUserInfo) { - return

Loading...

+ return

Loading...

; } if (!isLoggedIn) { @@ -162,7 +165,7 @@ function MyComponent() { } if (userInfo?.given_name) { - return

Welcome {userInfo.given_name}!

+ return

Welcome {userInfo.given_name}!

; } } ``` @@ -186,9 +189,10 @@ const UserNameDisplay = () => { return ( <> -

User: {userInfo.given_name}

// Only displays if user is authenticated +

User: {userInfo.given_name}

// Only displays if user is + authenticated
- +

Please log in to view this page

@@ -198,7 +202,8 @@ const UserNameDisplay = () => { const AdminPanel = () => ( - // Only displays if user is authenticated and has 'admin' role + // Only displays if user is authenticated and + has 'admin' role ); ``` @@ -211,7 +216,7 @@ This SDK offers 3 pre-built UI components. import { FusionAuthLoginButton, FusionAuthLogoutButton, - FusionAuthRegisterButton + FusionAuthRegisterButton, } from '@fusionauth/react-sdk'; export const LoginPage = () => ( @@ -230,6 +235,42 @@ export const AccountPage = () => ( ); ``` +### DPoP Mode + +By default, the SDK calls a Hosted Backend that stores tokens in HttpOnly cookies (`useDpop: false`, the default). In DPoP mode, the SDK instead calls FusionAuth endpoints directly and binds tokens to a private key generated in the browser, per [RFC 9449](https://datatracker.ietf.org/doc/html/rfc9449). Enable it by setting `useDpop: true` on `FusionAuthProviderConfig`: + +```jsx +const config: FusionAuthProviderConfig = { + clientId: "", + redirectUri: "", + serverUrl: "", + useDpop: true, // Opt-in to DPoP mode. + dpopTokenStorage: 'localStorage', // 'localStorage' (default, persists across reloads) or 'memory'. +}; +``` + +When `useDpop: true`, `useFusionAuth()` additionally returns `dpopFetch`, `generateProof`, and `getAccessToken`. These are `undefined` when `useDpop` is `false` or not set. + +```jsx +const { dpopFetch, generateProof, getAccessToken } = useFusionAuth(); + +// Recommended — handles attaching DPoP headers (and nonce retries) automatically. +const response = await dpopFetch('https://api.example.com/data', { + method: 'GET', +}); + +// Advanced — for axios or other HTTP libraries that can't use dpopFetch. +const accessToken = getAccessToken(); +const proof = await generateProof( + 'https://api.example.com/data', + 'GET', + accessToken, +); +// axios.get('https://api.example.com/data', { +// headers: { Authorization: `DPoP ${accessToken}`, DPoP: proof } +// }); +``` + ### Known Issues None. @@ -248,8 +289,8 @@ end::forDocSite[] There are several linting packages run when you push to a branch. One is `prettier`. If this fails, you can fix the files from the command line: -* npm run install -* npm run prettier -- -w /path/to/file +- npm run install +- npm run prettier -- -w /path/to/file Doing this will overwrite your file, but fix prettier's objections. diff --git a/packages/sdk-react/docs/interfaces/providers_FusionAuthProviderConfig.FusionAuthProviderConfig.md b/packages/sdk-react/docs/interfaces/providers_FusionAuthProviderConfig.FusionAuthProviderConfig.md index 9cbbf2e..6412a75 100644 --- a/packages/sdk-react/docs/interfaces/providers_FusionAuthProviderConfig.FusionAuthProviderConfig.md +++ b/packages/sdk-react/docs/interfaces/providers_FusionAuthProviderConfig.FusionAuthProviderConfig.md @@ -14,11 +14,13 @@ Config for FusionAuthProvider - [authParams](providers_FusionAuthProviderConfig.FusionAuthProviderConfig.md#authparams) - [autoRefreshSecondsBeforeExpiry](providers_FusionAuthProviderConfig.FusionAuthProviderConfig.md#autorefreshsecondsbeforeexpiry) - [clientId](providers_FusionAuthProviderConfig.FusionAuthProviderConfig.md#clientid) +- [dpopTokenStorage](providers_FusionAuthProviderConfig.FusionAuthProviderConfig.md#dpoptokenstorage) - [loginPath](providers_FusionAuthProviderConfig.FusionAuthProviderConfig.md#loginpath) - [logoutPath](providers_FusionAuthProviderConfig.FusionAuthProviderConfig.md#logoutpath) - [mePath](providers_FusionAuthProviderConfig.FusionAuthProviderConfig.md#mepath) - [nextCookieAdapter](providers_FusionAuthProviderConfig.FusionAuthProviderConfig.md#nextcookieadapter) - [onAutoRefreshFailure](providers_FusionAuthProviderConfig.FusionAuthProviderConfig.md#onautorefreshfailure) +- [onLoginFailure](providers_FusionAuthProviderConfig.FusionAuthProviderConfig.md#onloginfailure) - [onRedirect](providers_FusionAuthProviderConfig.FusionAuthProviderConfig.md#onredirect) - [postLogoutRedirectUri](providers_FusionAuthProviderConfig.FusionAuthProviderConfig.md#postlogoutredirecturi) - [redirectUri](providers_FusionAuthProviderConfig.FusionAuthProviderConfig.md#redirecturi) @@ -28,6 +30,7 @@ Config for FusionAuthProvider - [shouldAutoFetchUserInfo](providers_FusionAuthProviderConfig.FusionAuthProviderConfig.md#shouldautofetchuserinfo) - [shouldAutoRefresh](providers_FusionAuthProviderConfig.FusionAuthProviderConfig.md#shouldautorefresh) - [tokenRefreshPath](providers_FusionAuthProviderConfig.FusionAuthProviderConfig.md#tokenrefreshpath) +- [useDpop](providers_FusionAuthProviderConfig.FusionAuthProviderConfig.md#usedpop) ## Properties @@ -40,7 +43,7 @@ Only set this if you are hosting server that uses a custom name for the 'app.at_ #### Defined in -[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:98](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L98) +[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:104](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L104) --- @@ -52,7 +55,7 @@ Additional params passed to loginPath typically `/app/login/`, which redirects t #### Defined in -[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:30](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L30) +[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:30](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L30) --- @@ -64,7 +67,7 @@ The number of seconds before the access token expiry when the auto refresh funct #### Defined in -[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:50](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L50) +[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:50](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L50) --- @@ -76,7 +79,20 @@ The client id of the application. #### Defined in -[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:15](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L15) +[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:15](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L15) + +--- + +### dpopTokenStorage + +• `Optional` **dpopTokenStorage**: `"localStorage"` \| `"memory"` + +Token storage location in DPoP mode. Only meaningful when `useDpop: true`. +Defaults to `'localStorage'`. + +#### Defined in + +[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:117](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L117) --- @@ -88,7 +104,7 @@ The path to the login endpoint. #### Defined in -[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:65](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L65) +[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:71](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L71) --- @@ -100,7 +116,7 @@ The path to the logout endpoint. #### Defined in -[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:75](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L75) +[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:81](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L81) --- @@ -112,7 +128,7 @@ The path to the me endpoint. #### Defined in -[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:92](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L92) +[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:98](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L98) --- @@ -134,7 +150,7 @@ See docs for [configuration with nextjs](https://github.com/FusionAuth/fusionaut #### Defined in -[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:87](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L87) +[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:93](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L93) --- @@ -160,7 +176,34 @@ Callback to be invoked if a request to refresh the access token fails during aut #### Defined in -[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:60](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L60) +[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:60](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L60) + +--- + +### onLoginFailure + +• `Optional` **onLoginFailure**: (`error`: `Error`) => `void` + +Callback invoked if a DPoP mode login/register/redirect exchange fails. +Only relevant when `useDpop: true`. + +#### Type declaration + +▸ (`error`): `void` + +##### Parameters + +| Name | Type | +| :------ | :------ | +| `error` | `Error` | + +##### Returns + +`void` + +#### Defined in + +[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:66](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L66) --- @@ -186,7 +229,7 @@ Callback function to be invoked with the `state` value upon redirect from login #### Defined in -[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:55](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L55) +[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:55](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L55) --- @@ -198,7 +241,7 @@ The redirect URI for post-logout. Defaults the provided `redirectUri`. #### Defined in -[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:35](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L35) +[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:35](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L35) --- @@ -210,7 +253,7 @@ The redirect URI of the application. #### Defined in -[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:20](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L20) +[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:20](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L20) --- @@ -222,7 +265,7 @@ The path to the register endpoint. #### Defined in -[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:70](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L70) +[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:76](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L76) --- @@ -234,7 +277,7 @@ The OAuth2 scope parameter passed to the `/oauth2/authorize` endpoint. If not sp #### Defined in -[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:25](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L25) +[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:25](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L25) --- @@ -246,7 +289,7 @@ The URL of the server that performs the token exchange. #### Defined in -[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:10](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L10) +[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:10](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L10) --- @@ -258,7 +301,7 @@ Enables the SDK to automatically handle fetching user info when logged in. Defau #### Defined in -[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:45](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L45) +[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:45](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L45) --- @@ -270,7 +313,7 @@ Enables automatic token refreshing. Defaults to false. #### Defined in -[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:40](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L40) +[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:40](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L40) --- @@ -282,4 +325,18 @@ The path to the token refresh endpoint. #### Defined in -[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:80](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L80) +[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:86](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L86) + +--- + +### useDpop + +• `Optional` **useDpop**: `boolean` + +Opt-in to DPoP mode. When `true`, the SDK calls FusionAuth endpoints +directly and stores tokens in JavaScript-accessible storage instead of +relying on the Hosted Backend's HttpOnly cookies. Defaults to `false`. + +#### Defined in + +[packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts:111](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProviderConfig.ts#L111) diff --git a/packages/sdk-react/docs/interfaces/providers_FusionAuthProviderContext.FusionAuthProviderContext.md b/packages/sdk-react/docs/interfaces/providers_FusionAuthProviderContext.FusionAuthProviderContext.md index 8ed7bb9..7248c48 100644 --- a/packages/sdk-react/docs/interfaces/providers_FusionAuthProviderContext.FusionAuthProviderContext.md +++ b/packages/sdk-react/docs/interfaces/providers_FusionAuthProviderContext.FusionAuthProviderContext.md @@ -16,8 +16,11 @@ The context provided by FusionAuth React SDK ### Properties +- [dpopFetch](providers_FusionAuthProviderContext.FusionAuthProviderContext.md#dpopfetch) - [error](providers_FusionAuthProviderContext.FusionAuthProviderContext.md#error) - [fetchUserInfo](providers_FusionAuthProviderContext.FusionAuthProviderContext.md#fetchuserinfo) +- [generateProof](providers_FusionAuthProviderContext.FusionAuthProviderContext.md#generateproof) +- [getAccessToken](providers_FusionAuthProviderContext.FusionAuthProviderContext.md#getaccesstoken) - [initAutoRefresh](providers_FusionAuthProviderContext.FusionAuthProviderContext.md#initautorefresh) - [isFetchingUserInfo](providers_FusionAuthProviderContext.FusionAuthProviderContext.md#isfetchinguserinfo) - [isLoggedIn](providers_FusionAuthProviderContext.FusionAuthProviderContext.md#isloggedin) @@ -30,6 +33,34 @@ The context provided by FusionAuth React SDK ## Properties +### dpopFetch + +• `Optional` **dpopFetch**: (`input`: `RequestInfo` \| `URL`, `init?`: `RequestInit`) => `Promise`\<`Response`\> + +Fetch wrapper that automatically attaches DPoP proof headers. +Present only when `useDpop: true`. + +#### Type declaration + +▸ (`input`, `init?`): `Promise`\<`Response`\> + +##### Parameters + +| Name | Type | +| :------ | :--------------------- | +| `input` | `RequestInfo` \| `URL` | +| `init?` | `RequestInit` | + +##### Returns + +`Promise`\<`Response`\> + +#### Defined in + +[packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts:70](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts#L70) + +--- + ### error • **error**: `null` \| `Error` @@ -38,7 +69,7 @@ Error occurred while fetching userInfo. #### Defined in -[packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts:29](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts#L29) +[packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts:29](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts#L29) --- @@ -59,7 +90,59 @@ This is handled automatically if the SDK is configured with `shouldAutoFetchUser #### Defined in -[packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts:19](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts#L19) +[packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts:19](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts#L19) + +--- + +### generateProof + +• `Optional` **generateProof**: (`htu`: `string`, `htm`: `string`, `accessToken?`: `string`, `nonce?`: `string`) => `Promise`\<`string`\> + +Returns a signed DPoP proof JWT for use with axios or other +HTTP libraries. Present only when `useDpop: true`. + +#### Type declaration + +▸ (`htu`, `htm`, `accessToken?`, `nonce?`): `Promise`\<`string`\> + +##### Parameters + +| Name | Type | +| :------------- | :------- | +| `htu` | `string` | +| `htm` | `string` | +| `accessToken?` | `string` | +| `nonce?` | `string` | + +##### Returns + +`Promise`\<`string`\> + +#### Defined in + +[packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts:79](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts#L79) + +--- + +### getAccessToken + +• `Optional` **getAccessToken**: () => `null` \| `string` + +Returns the stored DPoP access token, or `null` if not logged in. +Throws a descriptive error when `useDpop: false`. +Present only when `useDpop: true`. + +#### Type declaration + +▸ (): `null` \| `string` + +##### Returns + +`null` \| `string` + +#### Defined in + +[packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts:91](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts#L91) --- @@ -80,7 +163,7 @@ This is handled automatically if the SDK is configured with `shouldAutoRefresh`. #### Defined in -[packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts:64](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts#L64) +[packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts:64](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts#L64) --- @@ -92,7 +175,7 @@ Indicates that the fetchUserInfo call is unresolved. #### Defined in -[packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts:24](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts#L24) +[packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts:24](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts#L24) --- @@ -104,7 +187,7 @@ Whether the user is logged in. #### Defined in -[packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts:8](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts#L8) +[packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts:8](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts#L8) --- @@ -125,7 +208,7 @@ Self service account management is only available in FusionAuth paid plans. #### Defined in -[packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts:52](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts#L52) +[packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts:52](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts#L52) --- @@ -146,7 +229,7 @@ This is handled automatically if the SDK is configured with `shouldAutoRefresh`. #### Defined in -[packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts:58](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts#L58) +[packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts:58](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts#L58) --- @@ -172,7 +255,7 @@ Initiates login flow. #### Defined in -[packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts:35](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts#L35) +[packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts:35](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts#L35) --- @@ -192,7 +275,7 @@ Initiates logout flow. #### Defined in -[packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts:46](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts#L46) +[packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts:46](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts#L46) --- @@ -218,7 +301,7 @@ Initiates register flow. #### Defined in -[packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts:41](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts#L41) +[packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts:41](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts#L41) --- @@ -230,4 +313,4 @@ Data fetched from the configured 'me' endpoint. #### Defined in -[packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts:13](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts#L13) +[packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts:13](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProviderContext.ts#L13) diff --git a/packages/sdk-react/docs/modules/providers_FusionAuthProvider.md b/packages/sdk-react/docs/modules/providers_FusionAuthProvider.md index f84520b..c7f66f0 100644 --- a/packages/sdk-react/docs/modules/providers_FusionAuthProvider.md +++ b/packages/sdk-react/docs/modules/providers_FusionAuthProvider.md @@ -33,7 +33,7 @@ #### Defined in -[packages/sdk-react/src/components/providers/FusionAuthProvider.tsx:21](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/providers/FusionAuthProvider.tsx#L21) +[packages/sdk-react/src/components/providers/FusionAuthProvider.tsx:23](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProvider.tsx#L23) --- @@ -55,4 +55,4 @@ A hook that returns `FusionAuthProviderContext` #### Defined in -[packages/sdk-react/src/components/providers/FusionAuthProvider.tsx:122](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/providers/FusionAuthProvider.tsx#L122) +[packages/sdk-react/src/components/providers/FusionAuthProvider.tsx:158](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/providers/FusionAuthProvider.tsx#L158) diff --git a/packages/sdk-react/docs/modules/ui_FusionAuthLoginButton.md b/packages/sdk-react/docs/modules/ui_FusionAuthLoginButton.md index 4ba81bf..d857ebc 100644 --- a/packages/sdk-react/docs/modules/ui_FusionAuthLoginButton.md +++ b/packages/sdk-react/docs/modules/ui_FusionAuthLoginButton.md @@ -28,4 +28,4 @@ Calls the `startLogin` method from `FusionAuthProviderContext`. #### Defined in -[packages/sdk-react/src/components/ui/FusionAuthLoginButton/index.tsx:16](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/ui/FusionAuthLoginButton/index.tsx#L16) +[packages/sdk-react/src/components/ui/FusionAuthLoginButton/index.tsx:16](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/ui/FusionAuthLoginButton/index.tsx#L16) diff --git a/packages/sdk-react/docs/modules/ui_FusionAuthLogoutButton.md b/packages/sdk-react/docs/modules/ui_FusionAuthLogoutButton.md index 67e103c..6b8f9b5 100644 --- a/packages/sdk-react/docs/modules/ui_FusionAuthLogoutButton.md +++ b/packages/sdk-react/docs/modules/ui_FusionAuthLogoutButton.md @@ -28,4 +28,4 @@ Calls the `startLogout` method from `FusionAuthProviderContext`. #### Defined in -[packages/sdk-react/src/components/ui/FusionAuthLogoutButton/index.tsx:13](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/ui/FusionAuthLogoutButton/index.tsx#L13) +[packages/sdk-react/src/components/ui/FusionAuthLogoutButton/index.tsx:13](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/ui/FusionAuthLogoutButton/index.tsx#L13) diff --git a/packages/sdk-react/docs/modules/ui_FusionAuthRegisterButton.md b/packages/sdk-react/docs/modules/ui_FusionAuthRegisterButton.md index 30a2074..ca0fe62 100644 --- a/packages/sdk-react/docs/modules/ui_FusionAuthRegisterButton.md +++ b/packages/sdk-react/docs/modules/ui_FusionAuthRegisterButton.md @@ -28,4 +28,4 @@ Calls the `startRegister` method from `FusionAuthProviderContext`. #### Defined in -[packages/sdk-react/src/components/ui/FusionAuthRegisterButton/index.tsx:15](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/ui/FusionAuthRegisterButton/index.tsx#L15) +[packages/sdk-react/src/components/ui/FusionAuthRegisterButton/index.tsx:15](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/ui/FusionAuthRegisterButton/index.tsx#L15) diff --git a/packages/sdk-react/docs/modules/ui_RequireAuth.md b/packages/sdk-react/docs/modules/ui_RequireAuth.md index 50286a5..407f496 100644 --- a/packages/sdk-react/docs/modules/ui_RequireAuth.md +++ b/packages/sdk-react/docs/modules/ui_RequireAuth.md @@ -28,4 +28,4 @@ Only renders children when user is authenticated. #### Defined in -[packages/sdk-react/src/components/ui/RequireAuth/index.tsx:10](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/ui/RequireAuth/index.tsx#L10) +[packages/sdk-react/src/components/ui/RequireAuth/index.tsx:10](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/ui/RequireAuth/index.tsx#L10) diff --git a/packages/sdk-react/docs/modules/ui_Unauthenticated.md b/packages/sdk-react/docs/modules/ui_Unauthenticated.md index 577dbf5..6438b97 100644 --- a/packages/sdk-react/docs/modules/ui_Unauthenticated.md +++ b/packages/sdk-react/docs/modules/ui_Unauthenticated.md @@ -29,4 +29,4 @@ Only renders children when user is unauthenticated. #### Defined in -[packages/sdk-react/src/components/ui/Unauthenticated/index.tsx:5](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/63efa2d5360c2b7e1392ffa730dac8f5a0bc8e19/packages/sdk-react/src/components/ui/Unauthenticated/index.tsx#L5) +[packages/sdk-react/src/components/ui/Unauthenticated/index.tsx:5](https://github.com/FusionAuth/fusionauth-javascript-sdk/blob/cd7ae7b9456d5730265cf9895942c3e7263c1c85/packages/sdk-react/src/components/ui/Unauthenticated/index.tsx#L5) diff --git a/packages/sdk-vue/docs/README.md b/packages/sdk-vue/docs/README.md index b9f215c..7caf6b0 100644 --- a/packages/sdk-vue/docs/README.md +++ b/packages/sdk-vue/docs/README.md @@ -6,16 +6,17 @@ An SDK for using FusionAuth in Vue applications. - [Overview](#overview) - [Getting Started](#getting-started) -- [Installation](#installation) + - [Quickstart](#quickstart) + - [Installation](#installation) - [Usage](#usage) - [Configuring the SDK](#configuring-the-sdk) - [Configuring with Nuxt](#configuring-with-nuxt) - [useFusionAuth Composable](#usefusionauth-composable) - [State parameter](#state-parameter) + - [DPoP Mode](#dpop-mode) - [UI Components](#ui-components) - [Protecting Content](#protecting-content) - [Pre-built buttons](#pre-built-buttons) -- [Quickstart](#quickstart) - [Documentation](#documentation) - [Known Issues](#known-issues) - [Releases](#releases) @@ -41,18 +42,19 @@ then log in. After that, they are sent back to your Vue application. Once authentication succeeds, the following secure, HTTP-only cookies will be set: -- `app.at` - an OAuth [Access - Token](https://fusionauth.io/docs/v1/tech/oauth/tokens#access-token) +- `app.at` - an OAuth [Access + Token](https://fusionauth.io/docs/v1/tech/oauth/tokens#access-token) -- `app.rt` - a [Refresh - Token](https://fusionauth.io/docs/v1/tech/oauth/tokens#refresh-token) - used to obtain a new `app.at`. This cookie will only be set if - refresh tokens are enabled on your FusionAuth instance. +- `app.rt` - a [Refresh + Token](https://fusionauth.io/docs/v1/tech/oauth/tokens#refresh-token) + used to obtain a new `app.at`. This cookie will only be set if + refresh tokens are enabled on your FusionAuth instance. The access token can be presented to APIs to authorize the request and the refresh token can be used to get a new access token. There are 2 ways to interact with this SDK: + 1. By hosting your own server that performs the OAuth token exchange and meets the [server code requirements for FusionAuth Web SDKs](https://github.com/FusionAuth/fusionauth-javascript-sdk-express#server-code-requirements). 2. By using the server hosted on your FusionAuth instance, i.e., not writing your own server code. @@ -63,6 +65,12 @@ compliant identity server. ## Getting Started +If you are new to Vue development, you may want to start with the Quickstart guide. If you are already familiar with Vue development, skip to the Installation section. + +### Quickstart + +See the [FusionAuth Vue Quickstart](https://fusionauth.io/docs/quickstarts/quickstart-javascript-vue-web) for a full tutorial on using FusionAuth and Vue. + ### Installation NPM: @@ -85,21 +93,24 @@ Configure and initialize the `FusionAuthVuePlugin` when you create your Vue app: ```typescript import { createApp } from 'vue'; -import FusionAuthVuePlugin, { type FusionAuthConfig } from '@fusionauth/vue-sdk'; +import FusionAuthVuePlugin, { + type FusionAuthConfig, +} from '@fusionauth/vue-sdk'; const config: FusionAuthConfig = { - clientId: "", // Your app's FusionAuth client id - serverUrl: "", // The url of the server that performs the token exchange - redirectUri: "", // The URI that the user is directed to after the login/register/logout action + clientId: '', // Your app's FusionAuth client id + serverUrl: '', // The url of the server that performs the token exchange + redirectUri: '', // The URI that the user is directed to after the login/register/logout action shouldAutoFetchUserInfo: true, // Automatically fetch userInfo when logged in. Defaults to false. shouldAutoRefresh: true, // Enables automatic token refresh. Defaults to false. - onRedirect: (state?: string) => { }, // Optional callback invoked upon redirect back from login or register. -} + onRedirect: (state?: string) => {}, // Optional callback invoked upon redirect back from login or register. + // useDpop: true, // Opt-in to DPoP mode. See "DPoP Mode" below. Defaults to false. +}; const app = createApp(App); app.use(FusionAuthVuePlugin, config); -app.mount('#app') +app.mount('#app'); ``` If you want to use the pre-styled buttons, don't forget to import the css file: @@ -130,13 +141,13 @@ Using `createFusionAuth`, the SDK can be configured more flexibly. ```typescript export default defineNuxtPlugin({ setup(nuxtApp) { - const fusionauth = createFusionAuth(config); - nuxtApp.vueApp.use(FusionAuthVuePlugin, { instance: fusionauth }) + const fusionauth = createFusionAuth(config); + nuxtApp.vueApp.use(FusionAuthVuePlugin, { instance: fusionauth }); return { - provide: { fusionauth } + provide: { fusionauth }, }; }, -}) +}); ``` ### `useFusionAuth` composable @@ -146,33 +157,23 @@ View the [full API documentation](https://github.com/FusionAuth/fusionauth-javas ```html