File length: 30128
# References - Frontend SDKs - React SDK Reference - WebAuthn
Source: https://supertokens.com/docs/references/frontend-sdks/supertokens-auth-react/recipe-webauthn
## Classes
### default
Defined in: [recipe/webauthn/index.ts:28](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L28)
#### Constructors
##### Constructor
```ts
new default(): default;
```
###### Returns
[`default`](#default)
#### Properties
| Property | Modifier | Type | Default value | Defined in |
| ------ | ------ | ------ | ------ | ------ |
| `ComponentsOverrideProvider` | `static` | `any` | `RecipeComponentsOverrideContextProvider` | [recipe/webauthn/index.ts:526](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L526) |
#### Methods
##### authenticateCredential()
```ts
static authenticateCredential(input): Promise<
| {
authenticationResponse: AuthenticationResponseJSON;
status: "OK";
}
| {
error: any;
status: "FAILED_TO_AUTHENTICATE_USER";
}
| {
error: any;
status: "WEBAUTHN_NOT_SUPPORTED";
}>;
```
Defined in: [recipe/webauthn/index.ts:275](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L275)
###### Parameters
| Parameter | Type |
| ------ | ------ |
| `input` | \{ `authenticationOptions`: `Omit`\<[`SuperTokensWrapper`](index.mdx#supertokenswrapper-1), `"fetchResponse"` \| `"status"`\>; `userContext`: `any`; \} |
| `input.authenticationOptions` | `Omit`\<[`SuperTokensWrapper`](index.mdx#supertokenswrapper-1), `"fetchResponse"` \| `"status"`\> |
| `input.userContext` | `any` |
###### Returns
`Promise`\<
\| \{
`authenticationResponse`: `AuthenticationResponseJSON`;
`status`: `"OK"`;
\}
\| \{
`error`: `any`;
`status`: `"FAILED_TO_AUTHENTICATE_USER"`;
\}
\| \{
`error`: `any`;
`status`: `"WEBAUTHN_NOT_SUPPORTED"`;
\}\>
##### authenticateCredentialWithSignIn()
```ts
static authenticateCredentialWithSignIn(input): Promise;
```
Defined in: [recipe/webauthn/index.ts:357](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L357)
###### Parameters
| Parameter | Type |
| ------ | ------ |
| `input` | \{ `options?`: `RecipeFunctionOptions`; `shouldTryLinkingWithSessionUser?`: `boolean`; `userContext`: `any`; \} |
| `input.options?` | `RecipeFunctionOptions` |
| `input.shouldTryLinkingWithSessionUser?` | `boolean` |
| `input.userContext` | `any` |
###### Returns
`Promise`\<`any`\>
##### createAndRegisterCredentialForSessionUser()
```ts
static createAndRegisterCredentialForSessionUser(input): Promise;
```
Defined in: [recipe/webauthn/index.ts:473](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L473)
###### Parameters
| Parameter | Type |
| ------ | ------ |
| `input` | \{ `email`: `string`; `options?`: `RecipeFunctionOptions`; `recipeUserId`: `string`; `userContext`: `any`; \} |
| `input.email` | `string` |
| `input.options?` | `RecipeFunctionOptions` |
| `input.recipeUserId` | `string` |
| `input.userContext` | `any` |
###### Returns
`Promise`\<`any`\>
##### createCredential()
```ts
static createCredential(input): Promise<
| {
registrationResponse: RegistrationResponseJSON;
status: "OK";
}
| {
status: "AUTHENTICATOR_ALREADY_REGISTERED";
}
| {
error: any;
status: "FAILED_TO_REGISTER_USER";
}
| {
error: any;
status: "WEBAUTHN_NOT_SUPPORTED";
}>;
```
Defined in: [recipe/webauthn/index.ts:252](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L252)
###### Parameters
| Parameter | Type |
| ------ | ------ |
| `input` | \{ `registrationOptions`: `Omit`\<[`SuperTokensWrapper`](index.mdx#supertokenswrapper-1), `"fetchResponse"` \| `"status"`\>; `userContext`: `any`; \} |
| `input.registrationOptions` | `Omit`\<[`SuperTokensWrapper`](index.mdx#supertokenswrapper-1), `"fetchResponse"` \| `"status"`\> |
| `input.userContext` | `any` |
###### Returns
`Promise`\<
\| \{
`registrationResponse`: `RegistrationResponseJSON`;
`status`: `"OK"`;
\}
\| \{
`status`: `"AUTHENTICATOR_ALREADY_REGISTERED"`;
\}
\| \{
`error`: `any`;
`status`: `"FAILED_TO_REGISTER_USER"`;
\}
\| \{
`error`: `any`;
`status`: `"WEBAUTHN_NOT_SUPPORTED"`;
\}\>
##### doesBrowserSupportWebAuthn()
```ts
static doesBrowserSupportWebAuthn(input): Promise<
| {
browserSupportsWebauthn: boolean;
platformAuthenticatorIsAvailable: boolean;
status: "OK";
}
| {
error: any;
status: "ERROR";
}>;
```
Defined in: [recipe/webauthn/index.ts:512](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L512)
###### Parameters
| Parameter | Type |
| ------ | ------ |
| `input` | \{ `userContext`: `any`; \} |
| `input.userContext` | `any` |
###### Returns
`Promise`\<
\| \{
`browserSupportsWebauthn`: `boolean`;
`platformAuthenticatorIsAvailable`: `boolean`;
`status`: `"OK"`;
\}
\| \{
`error`: `any`;
`status`: `"ERROR"`;
\}\>
##### generateRecoverAccountToken()
```ts
static generateRecoverAccountToken(input): Promise;
```
Defined in: [recipe/webauthn/index.ts:194](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L194)
###### Parameters
| Parameter | Type |
| ------ | ------ |
| `input` | \{ `email`: `string`; `options?`: `RecipeFunctionOptions`; `userContext`: `any`; \} |
| `input.email` | `string` |
| `input.options?` | `RecipeFunctionOptions` |
| `input.userContext` | `any` |
###### Returns
`Promise`\<`any`\>
##### getEmailExists()
```ts
static getEmailExists(input): Promise;
```
Defined in: [recipe/webauthn/index.ts:183](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L183)
###### Parameters
| Parameter | Type |
| ------ | ------ |
| `input` | \{ `email`: `string`; `options?`: `RecipeFunctionOptions`; `userContext`: `any`; \} |
| `input.email` | `string` |
| `input.options?` | `RecipeFunctionOptions` |
| `input.userContext` | `any` |
###### Returns
`Promise`\<`any`\>
##### getRegisterOptions()
```ts
static getRegisterOptions(input): Promise<
| {
attestation: "none" | "indirect" | "direct" | "enterprise";
authenticatorSelection: {
requireResidentKey: boolean;
residentKey: ResidentKey;
userVerification: UserVerification;
};
challenge: string;
createdAt: string;
excludeCredentials: object[];
expiresAt: string;
fetchResponse: Response;
pubKeyCredParams: object[];
rp: {
id: string;
name: string;
};
status: "OK";
timeout: number;
user: {
displayName: string;
id: string;
name: string;
};
webauthnGeneratedOptionsId: string;
}
| {
fetchResponse: Response;
status: "RECOVER_ACCOUNT_TOKEN_INVALID_ERROR";
}
| {
err: string;
fetchResponse: Response;
status: "INVALID_EMAIL_ERROR";
}
| {
fetchResponse: Response;
status: "INVALID_OPTIONS_ERROR";
}>;
```
Defined in: [recipe/webauthn/index.ts:33](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L33)
###### Parameters
| Parameter | Type |
| ------ | ------ |
| `input` | `object` & \| \{ `email`: `string`; \} \| \{ `recoverAccountToken`: `string`; \} |
###### Returns
`Promise`\<
\| \{
`attestation`: `"none"` \| `"indirect"` \| `"direct"` \| `"enterprise"`;
`authenticatorSelection`: \{
`requireResidentKey`: `boolean`;
`residentKey`: `ResidentKey`;
`userVerification`: `UserVerification`;
\};
`challenge`: `string`;
`createdAt`: `string`;
`excludeCredentials`: `object`[];
`expiresAt`: `string`;
`fetchResponse`: `Response`;
`pubKeyCredParams`: `object`[];
`rp`: \{
`id`: `string`;
`name`: `string`;
\};
`status`: `"OK"`;
`timeout`: `number`;
`user`: \{
`displayName`: `string`;
`id`: `string`;
`name`: `string`;
\};
`webauthnGeneratedOptionsId`: `string`;
\}
\| \{
`fetchResponse`: `Response`;
`status`: `"RECOVER_ACCOUNT_TOKEN_INVALID_ERROR"`;
\}
\| \{
`err`: `string`;
`fetchResponse`: `Response`;
`status`: `"INVALID_EMAIL_ERROR"`;
\}
\| \{
`fetchResponse`: `Response`;
`status`: `"INVALID_OPTIONS_ERROR"`;
\}\>
##### getSignInOptions()
```ts
static getSignInOptions(input): Promise;
```
Defined in: [recipe/webauthn/index.ts:96](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L96)
###### Parameters
| Parameter | Type |
| ------ | ------ |
| `input` | \{ `options?`: `RecipeFunctionOptions`; `userContext`: `any`; \} |
| `input.options?` | `RecipeFunctionOptions` |
| `input.userContext` | `any` |
###### Returns
`Promise`\<`any`\>
##### init()
```ts
static init(config?): any;
```
Defined in: [recipe/webauthn/index.ts:29](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L29)
###### Parameters
| Parameter | Type |
| ------ | ------ |
| `config?` | [`UserInput`](recipe-webauthn-types.mdx#userinput) |
###### Returns
`any`
##### listCredentials()
```ts
static listCredentials(input): Promise;
```
Defined in: [recipe/webauthn/index.ts:449](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L449)
###### Parameters
| Parameter | Type |
| ------ | ------ |
| `input` | \{ `options?`: `RecipeFunctionOptions`; `userContext`: `any`; \} |
| `input.options?` | `RecipeFunctionOptions` |
| `input.userContext` | `any` |
###### Returns
`Promise`\<`any`\>
##### recoverAccount()
```ts
static recoverAccount(input): Promise;
```
Defined in: [recipe/webauthn/index.ts:213](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L213)
###### Parameters
| Parameter | Type |
| ------ | ------ |
| `input` | \{ `credential`: `RegistrationResponseJSON`; `options?`: `RecipeFunctionOptions`; `token`: `string`; `userContext`: `any`; `webauthnGeneratedOptionsId`: `string`; \} |
| `input.credential` | `RegistrationResponseJSON` |
| `input.options?` | `RecipeFunctionOptions` |
| `input.token` | `string` |
| `input.userContext` | `any` |
| `input.webauthnGeneratedOptionsId` | `string` |
###### Returns
`Promise`\<`any`\>
##### registerCredential()
```ts
static registerCredential(input): Promise;
```
Defined in: [recipe/webauthn/index.ts:494](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L494)
###### Parameters
| Parameter | Type |
| ------ | ------ |
| `input` | \{ `credential`: `RegistrationResponseJSON`; `options?`: `RecipeFunctionOptions`; `recipeUserId`: `string`; `userContext`: `any`; `webauthnGeneratedOptionsId`: `string`; \} |
| `input.credential` | `RegistrationResponseJSON` |
| `input.options?` | `RecipeFunctionOptions` |
| `input.recipeUserId` | `string` |
| `input.userContext` | `any` |
| `input.webauthnGeneratedOptionsId` | `string` |
###### Returns
`Promise`\<`any`\>
##### registerCredentialWithRecoverAccount()
```ts
static registerCredentialWithRecoverAccount(input): Promise;
```
Defined in: [recipe/webauthn/index.ts:393](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L393)
###### Parameters
| Parameter | Type |
| ------ | ------ |
| `input` | \{ `options?`: `RecipeFunctionOptions`; `recoverAccountToken`: `string`; `userContext`: `any`; \} |
| `input.options?` | `RecipeFunctionOptions` |
| `input.recoverAccountToken` | `string` |
| `input.userContext` | `any` |
###### Returns
`Promise`\<`any`\>
##### registerCredentialWithSignUp()
```ts
static registerCredentialWithSignUp(input): Promise;
```
Defined in: [recipe/webauthn/index.ts:295](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L295)
###### Parameters
| Parameter | Type |
| ------ | ------ |
| `input` | \{ `email`: `string`; `options?`: `RecipeFunctionOptions`; `shouldTryLinkingWithSessionUser?`: `boolean`; `userContext`: `any`; \} |
| `input.email` | `string` |
| `input.options?` | `RecipeFunctionOptions` |
| `input.shouldTryLinkingWithSessionUser?` | `boolean` |
| `input.userContext` | `any` |
###### Returns
`Promise`\<`any`\>
##### removeCredential()
```ts
static removeCredential(input): Promise;
```
Defined in: [recipe/webauthn/index.ts:464](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L464)
###### Parameters
| Parameter | Type |
| ------ | ------ |
| `input` | \{ `userContext`: `any`; `webauthnCredentialId`: `string`; \} |
| `input.userContext` | `any` |
| `input.webauthnCredentialId` | `string` |
###### Returns
`Promise`\<`any`\>
##### signIn()
```ts
static signIn(input): Promise;
```
Defined in: [recipe/webauthn/index.ts:157](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L157)
###### Parameters
| Parameter | Type |
| ------ | ------ |
| `input` | \{ `credential`: `AuthenticationResponseJSON`; `options?`: `RecipeFunctionOptions`; `shouldTryLinkingWithSessionUser?`: `boolean`; `userContext`: `any`; `webauthnGeneratedOptionsId`: `string`; \} |
| `input.credential` | `AuthenticationResponseJSON` |
| `input.options?` | `RecipeFunctionOptions` |
| `input.shouldTryLinkingWithSessionUser?` | `boolean` |
| `input.userContext` | `any` |
| `input.webauthnGeneratedOptionsId` | `string` |
###### Returns
`Promise`\<`any`\>
##### signUp()
```ts
static signUp(input): Promise;
```
Defined in: [recipe/webauthn/index.ts:114](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L114)
###### Parameters
| Parameter | Type |
| ------ | ------ |
| `input` | \{ `credential`: `RegistrationResponseJSON`; `options?`: `RecipeFunctionOptions`; `shouldTryLinkingWithSessionUser?`: `boolean`; `userContext`: `any`; `webauthnGeneratedOptionsId`: `string`; \} |
| `input.credential` | `RegistrationResponseJSON` |
| `input.options?` | `RecipeFunctionOptions` |
| `input.shouldTryLinkingWithSessionUser?` | `boolean` |
| `input.userContext` | `any` |
| `input.webauthnGeneratedOptionsId` | `string` |
###### Returns
`Promise`\<`any`\>
## Variables
### authenticateCredential()
```ts
const authenticateCredential: (input) => Promise<
| {
authenticationResponse: AuthenticationResponseJSON;
status: "OK";
}
| {
error: any;
status: "FAILED_TO_AUTHENTICATE_USER";
}
| {
error: any;
status: "WEBAUTHN_NOT_SUPPORTED";
}> = Wrapper.authenticateCredential;
```
Defined in: [recipe/webauthn/index.ts:538](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L538)
#### Parameters
| Parameter | Type |
| ------ | ------ |
| `input` | \{ `authenticationOptions`: `Omit`\<[`SuperTokensWrapper`](index.mdx#supertokenswrapper-1), `"fetchResponse"` \| `"status"`\>; `userContext`: `any`; \} |
| `input.authenticationOptions` | `Omit`\<[`SuperTokensWrapper`](index.mdx#supertokenswrapper-1), `"fetchResponse"` \| `"status"`\> |
| `input.userContext` | `any` |
#### Returns
`Promise`\<
\| \{
`authenticationResponse`: `AuthenticationResponseJSON`;
`status`: `"OK"`;
\}
\| \{
`error`: `any`;
`status`: `"FAILED_TO_AUTHENTICATE_USER"`;
\}
\| \{
`error`: `any`;
`status`: `"WEBAUTHN_NOT_SUPPORTED"`;
\}\>
***
### authenticateCredentialWithSignIn()
```ts
const authenticateCredentialWithSignIn: (input) => Promise = Wrapper.authenticateCredentialWithSignIn;
```
Defined in: [recipe/webauthn/index.ts:540](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L540)
#### Parameters
| Parameter | Type |
| ------ | ------ |
| `input` | \{ `options?`: `RecipeFunctionOptions`; `shouldTryLinkingWithSessionUser?`: `boolean`; `userContext`: `any`; \} |
| `input.options?` | `RecipeFunctionOptions` |
| `input.shouldTryLinkingWithSessionUser?` | `boolean` |
| `input.userContext` | `any` |
#### Returns
`Promise`\<`any`\>
***
### createAndRegisterCredentialForSessionUser()
```ts
const createAndRegisterCredentialForSessionUser: (input) => Promise = Wrapper.createAndRegisterCredentialForSessionUser;
```
Defined in: [recipe/webauthn/index.ts:542](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L542)
#### Parameters
| Parameter | Type |
| ------ | ------ |
| `input` | \{ `email`: `string`; `options?`: `RecipeFunctionOptions`; `recipeUserId`: `string`; `userContext`: `any`; \} |
| `input.email` | `string` |
| `input.options?` | `RecipeFunctionOptions` |
| `input.recipeUserId` | `string` |
| `input.userContext` | `any` |
#### Returns
`Promise`\<`any`\>
***
### createCredential()
```ts
const createCredential: (input) => Promise<
| {
registrationResponse: RegistrationResponseJSON;
status: "OK";
}
| {
status: "AUTHENTICATOR_ALREADY_REGISTERED";
}
| {
error: any;
status: "FAILED_TO_REGISTER_USER";
}
| {
error: any;
status: "WEBAUTHN_NOT_SUPPORTED";
}> = Wrapper.createCredential;
```
Defined in: [recipe/webauthn/index.ts:537](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L537)
#### Parameters
| Parameter | Type |
| ------ | ------ |
| `input` | \{ `registrationOptions`: `Omit`\<[`SuperTokensWrapper`](index.mdx#supertokenswrapper-1), `"fetchResponse"` \| `"status"`\>; `userContext`: `any`; \} |
| `input.registrationOptions` | `Omit`\<[`SuperTokensWrapper`](index.mdx#supertokenswrapper-1), `"fetchResponse"` \| `"status"`\> |
| `input.userContext` | `any` |
#### Returns
`Promise`\<
\| \{
`registrationResponse`: `RegistrationResponseJSON`;
`status`: `"OK"`;
\}
\| \{
`status`: `"AUTHENTICATOR_ALREADY_REGISTERED"`;
\}
\| \{
`error`: `any`;
`status`: `"FAILED_TO_REGISTER_USER"`;
\}
\| \{
`error`: `any`;
`status`: `"WEBAUTHN_NOT_SUPPORTED"`;
\}\>
***
### doesBrowserSupportWebAuthn()
```ts
const doesBrowserSupportWebAuthn: (input) => Promise<
| {
browserSupportsWebauthn: boolean;
platformAuthenticatorIsAvailable: boolean;
status: "OK";
}
| {
error: any;
status: "ERROR";
}> = Wrapper.doesBrowserSupportWebAuthn;
```
Defined in: [recipe/webauthn/index.ts:546](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L546)
#### Parameters
| Parameter | Type |
| ------ | ------ |
| `input` | \{ `userContext`: `any`; \} |
| `input.userContext` | `any` |
#### Returns
`Promise`\<
\| \{
`browserSupportsWebauthn`: `boolean`;
`platformAuthenticatorIsAvailable`: `boolean`;
`status`: `"OK"`;
\}
\| \{
`error`: `any`;
`status`: `"ERROR"`;
\}\>
***
### generateRecoverAccountToken()
```ts
const generateRecoverAccountToken: (input) => Promise = Wrapper.generateRecoverAccountToken;
```
Defined in: [recipe/webauthn/index.ts:535](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L535)
#### Parameters
| Parameter | Type |
| ------ | ------ |
| `input` | \{ `email`: `string`; `options?`: `RecipeFunctionOptions`; `userContext`: `any`; \} |
| `input.email` | `string` |
| `input.options?` | `RecipeFunctionOptions` |
| `input.userContext` | `any` |
#### Returns
`Promise`\<`any`\>
***
### getEmailExists()
```ts
const getEmailExists: (input) => Promise = Wrapper.getEmailExists;
```
Defined in: [recipe/webauthn/index.ts:534](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L534)
#### Parameters
| Parameter | Type |
| ------ | ------ |
| `input` | \{ `email`: `string`; `options?`: `RecipeFunctionOptions`; `userContext`: `any`; \} |
| `input.email` | `string` |
| `input.options?` | `RecipeFunctionOptions` |
| `input.userContext` | `any` |
#### Returns
`Promise`\<`any`\>
***
### getRegisterOptions()
```ts
const getRegisterOptions: (input) => Promise<
| {
attestation: "none" | "indirect" | "direct" | "enterprise";
authenticatorSelection: {
requireResidentKey: boolean;
residentKey: ResidentKey;
userVerification: UserVerification;
};
challenge: string;
createdAt: string;
excludeCredentials: object[];
expiresAt: string;
fetchResponse: Response;
pubKeyCredParams: object[];
rp: {
id: string;
name: string;
};
status: "OK";
timeout: number;
user: {
displayName: string;
id: string;
name: string;
};
webauthnGeneratedOptionsId: string;
}
| {
fetchResponse: Response;
status: "RECOVER_ACCOUNT_TOKEN_INVALID_ERROR";
}
| {
err: string;
fetchResponse: Response;
status: "INVALID_EMAIL_ERROR";
}
| {
fetchResponse: Response;
status: "INVALID_OPTIONS_ERROR";
}> = Wrapper.getRegisterOptions;
```
Defined in: [recipe/webauthn/index.ts:530](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L530)
#### Parameters
| Parameter | Type |
| ------ | ------ |
| `input` | `object` & \| \{ `email`: `string`; \} \| \{ `recoverAccountToken`: `string`; \} |
#### Returns
`Promise`\<
\| \{
`attestation`: `"none"` \| `"indirect"` \| `"direct"` \| `"enterprise"`;
`authenticatorSelection`: \{
`requireResidentKey`: `boolean`;
`residentKey`: `ResidentKey`;
`userVerification`: `UserVerification`;
\};
`challenge`: `string`;
`createdAt`: `string`;
`excludeCredentials`: `object`[];
`expiresAt`: `string`;
`fetchResponse`: `Response`;
`pubKeyCredParams`: `object`[];
`rp`: \{
`id`: `string`;
`name`: `string`;
\};
`status`: `"OK"`;
`timeout`: `number`;
`user`: \{
`displayName`: `string`;
`id`: `string`;
`name`: `string`;
\};
`webauthnGeneratedOptionsId`: `string`;
\}
\| \{
`fetchResponse`: `Response`;
`status`: `"RECOVER_ACCOUNT_TOKEN_INVALID_ERROR"`;
\}
\| \{
`err`: `string`;
`fetchResponse`: `Response`;
`status`: `"INVALID_EMAIL_ERROR"`;
\}
\| \{
`fetchResponse`: `Response`;
`status`: `"INVALID_OPTIONS_ERROR"`;
\}\>
***
### getSignInOptions()
```ts
const getSignInOptions: (input) => Promise = Wrapper.getSignInOptions;
```
Defined in: [recipe/webauthn/index.ts:531](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L531)
#### Parameters
| Parameter | Type |
| ------ | ------ |
| `input` | \{ `options?`: `RecipeFunctionOptions`; `userContext`: `any`; \} |
| `input.options?` | `RecipeFunctionOptions` |
| `input.userContext` | `any` |
#### Returns
`Promise`\<`any`\>
***
### init()
```ts
const init: (config?) => any = Wrapper.init;
```
Defined in: [recipe/webauthn/index.ts:529](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L529)
#### Parameters
| Parameter | Type |
| ------ | ------ |
| `config?` | [`UserInput`](recipe-webauthn-types.mdx#userinput) |
#### Returns
`any`
***
### listCredentials()
```ts
const listCredentials: (input) => Promise = Wrapper.listCredentials;
```
Defined in: [recipe/webauthn/index.ts:543](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L543)
#### Parameters
| Parameter | Type |
| ------ | ------ |
| `input` | \{ `options?`: `RecipeFunctionOptions`; `userContext`: `any`; \} |
| `input.options?` | `RecipeFunctionOptions` |
| `input.userContext` | `any` |
#### Returns
`Promise`\<`any`\>
***
### recoverAccount()
```ts
const recoverAccount: (input) => Promise = Wrapper.recoverAccount;
```
Defined in: [recipe/webauthn/index.ts:536](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L536)
#### Parameters
| Parameter | Type |
| ------ | ------ |
| `input` | \{ `credential`: `RegistrationResponseJSON`; `options?`: `RecipeFunctionOptions`; `token`: `string`; `userContext`: `any`; `webauthnGeneratedOptionsId`: `string`; \} |
| `input.credential` | `RegistrationResponseJSON` |
| `input.options?` | `RecipeFunctionOptions` |
| `input.token` | `string` |
| `input.userContext` | `any` |
| `input.webauthnGeneratedOptionsId` | `string` |
#### Returns
`Promise`\<`any`\>
***
### registerCredential()
```ts
const registerCredential: (input) => Promise = Wrapper.registerCredential;
```
Defined in: [recipe/webauthn/index.ts:545](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L545)
#### Parameters
| Parameter | Type |
| ------ | ------ |
| `input` | \{ `credential`: `RegistrationResponseJSON`; `options?`: `RecipeFunctionOptions`; `recipeUserId`: `string`; `userContext`: `any`; `webauthnGeneratedOptionsId`: `string`; \} |
| `input.credential` | `RegistrationResponseJSON` |
| `input.options?` | `RecipeFunctionOptions` |
| `input.recipeUserId` | `string` |
| `input.userContext` | `any` |
| `input.webauthnGeneratedOptionsId` | `string` |
#### Returns
`Promise`\<`any`\>
***
### registerCredentialWithRecoverAccount()
```ts
const registerCredentialWithRecoverAccount: (input) => Promise = Wrapper.registerCredentialWithRecoverAccount;
```
Defined in: [recipe/webauthn/index.ts:541](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L541)
#### Parameters
| Parameter | Type |
| ------ | ------ |
| `input` | \{ `options?`: `RecipeFunctionOptions`; `recoverAccountToken`: `string`; `userContext`: `any`; \} |
| `input.options?` | `RecipeFunctionOptions` |
| `input.recoverAccountToken` | `string` |
| `input.userContext` | `any` |
#### Returns
`Promise`\<`any`\>
***
### registerCredentialWithSignUp()
```ts
const registerCredentialWithSignUp: (input) => Promise = Wrapper.registerCredentialWithSignUp;
```
Defined in: [recipe/webauthn/index.ts:539](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L539)
#### Parameters
| Parameter | Type |
| ------ | ------ |
| `input` | \{ `email`: `string`; `options?`: `RecipeFunctionOptions`; `shouldTryLinkingWithSessionUser?`: `boolean`; `userContext`: `any`; \} |
| `input.email` | `string` |
| `input.options?` | `RecipeFunctionOptions` |
| `input.shouldTryLinkingWithSessionUser?` | `boolean` |
| `input.userContext` | `any` |
#### Returns
`Promise`\<`any`\>
***
### removeCredential()
```ts
const removeCredential: (input) => Promise = Wrapper.removeCredential;
```
Defined in: [recipe/webauthn/index.ts:544](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L544)
#### Parameters
| Parameter | Type |
| ------ | ------ |
| `input` | \{ `userContext`: `any`; `webauthnCredentialId`: `string`; \} |
| `input.userContext` | `any` |
| `input.webauthnCredentialId` | `string` |
#### Returns
`Promise`\<`any`\>
***
### signIn()
```ts
const signIn: (input) => Promise = Wrapper.signIn;
```
Defined in: [recipe/webauthn/index.ts:533](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L533)
#### Parameters
| Parameter | Type |
| ------ | ------ |
| `input` | \{ `credential`: `AuthenticationResponseJSON`; `options?`: `RecipeFunctionOptions`; `shouldTryLinkingWithSessionUser?`: `boolean`; `userContext`: `any`; `webauthnGeneratedOptionsId`: `string`; \} |
| `input.credential` | `AuthenticationResponseJSON` |
| `input.options?` | `RecipeFunctionOptions` |
| `input.shouldTryLinkingWithSessionUser?` | `boolean` |
| `input.userContext` | `any` |
| `input.webauthnGeneratedOptionsId` | `string` |
#### Returns
`Promise`\<`any`\>
***
### signUp()
```ts
const signUp: (input) => Promise = Wrapper.signUp;
```
Defined in: [recipe/webauthn/index.ts:532](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L532)
#### Parameters
| Parameter | Type |
| ------ | ------ |
| `input` | \{ `credential`: `RegistrationResponseJSON`; `options?`: `RecipeFunctionOptions`; `shouldTryLinkingWithSessionUser?`: `boolean`; `userContext`: `any`; `webauthnGeneratedOptionsId`: `string`; \} |
| `input.credential` | `RegistrationResponseJSON` |
| `input.options?` | `RecipeFunctionOptions` |
| `input.shouldTryLinkingWithSessionUser?` | `boolean` |
| `input.userContext` | `any` |
| `input.webauthnGeneratedOptionsId` | `string` |
#### Returns
`Promise`\<`any`\>
***
### WebauthnComponentsOverrideProvider
```ts
const WebauthnComponentsOverrideProvider: any = Wrapper.ComponentsOverrideProvider;
```
Defined in: [recipe/webauthn/index.ts:547](https://github.com/supertokens/supertokens-auth-react/blob/b337b23722adfbe2906b193ea5fcf98f9c98c8b0/lib/ts/recipe/webauthn/index.ts#L547)