# AuthParams | @account-kit/signer

> Overview of AuthParams from @account-kit/signer

> For the complete documentation index, see [llms.txt](/docs/llms.txt).

{/* This file is auto-generated by TypeDoc. Do not edit manually. */}

```ts
type AuthParams =
  | {
      email: string;
      emailMode?: "magicLink" | "otp";
      multiFactors?: VerifyMfaParams[];
      redirectParams?: URLSearchParams;
      type: "email";
    }
  | {
      bundle: string;
      isNewUser?: boolean;
      orgId?: string;
      type: "email";
    }
  | {
      phone: string;
      type: "sms";
    }
  | {
      creationOpts?: CredentialCreationOptionOverrides;
      email: string;
      type: "passkey";
    }
  | {
      createNew: false;
      type: "passkey";
    }
  | {
      createNew: true;
      creationOpts?: CredentialCreationOptionOverrides;
      type: "passkey";
      username: string;
    }
  | (object & OauthProviderConfig & OauthRedirectConfig)
  | {
      accessToken?: string;
      bundle: string;
      idToken: string;
      isNewUser?: boolean;
      orgId: string;
      type: "oauthReturn";
    }
  | {
      authProviderId?: string;
      jwt: string;
      type: "custom-jwt";
    }
  | {
      multiFactors?: VerifyMfaParams[];
      otpCode: string;
      type: "otp";
    }
  | (object & AccessKeyAuthParams);
```

Defined in: [account-kit/signer/src/signer.ts:19](https://github.com/alchemyplatform/aa-sdk/blob/main/account-kit/signer/src/signer.ts#L19)

## Type Declaration

```ts
{
  email: string;
  emailMode?: "magicLink" | "otp";
  multiFactors?: VerifyMfaParams[];
  redirectParams?: URLSearchParams;
  type: "email";
}
```

<table>
  <thead>
    <tr>
      <th align="left">Name</th>
      <th align="left">Type</th>
      <th align="left">Description</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        `email`
      </td>

      <td>
        `string`
      </td>

      <td>
        ‐
      </td>
    </tr>

    <tr>
      <td>
        `emailMode?`
      </td>

      <td>
        `"magicLink"` | `"otp"`
      </td>

      <td>
        **Deprecated**

        This option will be overriden by dashboard settings. Please use the dashboard settings instead. This option will be removed in a future release.
      </td>
    </tr>

    <tr>
      <td>
        `multiFactors?`
      </td>

      <td>
        [`VerifyMfaParams`](VerifyMfaParams)\[]
      </td>

      <td>
        ‐
      </td>
    </tr>

    <tr>
      <td>
        `redirectParams?`
      </td>

      <td>
        `URLSearchParams`
      </td>

      <td>
        ‐
      </td>
    </tr>

    <tr>
      <td>
        `type`
      </td>

      <td>
        `"email"`
      </td>

      <td>
        ‐
      </td>
    </tr>

  </tbody>
</table>

```ts
{
  bundle: string;
  isNewUser?: boolean;
  orgId?: string;
  type: "email";
}
```

<table>
  <thead>
    <tr>
      <th align="left">Name</th>
      <th align="left">Type</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        `bundle`
      </td>

      <td>
        `string`
      </td>
    </tr>

    <tr>
      <td>
        `isNewUser?`
      </td>

      <td>
        `boolean`
      </td>
    </tr>

    <tr>
      <td>
        `orgId?`
      </td>

      <td>
        `string`
      </td>
    </tr>

    <tr>
      <td>
        `type`
      </td>

      <td>
        `"email"`
      </td>
    </tr>

  </tbody>
</table>

```ts
{
  phone: string;
  type: "sms";
}
```

<table>
  <thead>
    <tr>
      <th align="left">Name</th>
      <th align="left">Type</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        `phone`
      </td>

      <td>
        `string`
      </td>
    </tr>

    <tr>
      <td>
        `type`
      </td>

      <td>
        `"sms"`
      </td>
    </tr>

  </tbody>
</table>

```ts
{
  creationOpts?: CredentialCreationOptionOverrides;
  email: string;
  type: "passkey";
}
```

<table>
  <thead>
    <tr>
      <th align="left">Name</th>
      <th align="left">Type</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        `creationOpts?`
      </td>

      <td>
        [`CredentialCreationOptionOverrides`](CredentialCreationOptionOverrides)
      </td>
    </tr>

    <tr>
      <td>
        `email`
      </td>

      <td>
        `string`
      </td>
    </tr>

    <tr>
      <td>
        `type`
      </td>

      <td>
        `"passkey"`
      </td>
    </tr>

  </tbody>
</table>

```ts
{
  createNew: false;
  type: "passkey";
}
```

<table>
  <thead>
    <tr>
      <th align="left">Name</th>
      <th align="left">Type</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        `createNew`
      </td>

      <td>
        `false`
      </td>
    </tr>

    <tr>
      <td>
        `type`
      </td>

      <td>
        `"passkey"`
      </td>
    </tr>

  </tbody>
</table>

```ts
{
  createNew: true;
  creationOpts?: CredentialCreationOptionOverrides;
  type: "passkey";
  username: string;
}
```

<table>
  <thead>
    <tr>
      <th align="left">Name</th>
      <th align="left">Type</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        `createNew`
      </td>

      <td>
        `true`
      </td>
    </tr>

    <tr>
      <td>
        `creationOpts?`
      </td>

      <td>
        [`CredentialCreationOptionOverrides`](CredentialCreationOptionOverrides)
      </td>
    </tr>

    <tr>
      <td>
        `type`
      </td>

      <td>
        `"passkey"`
      </td>
    </tr>

    <tr>
      <td>
        `username`
      </td>

      <td>
        `string`
      </td>
    </tr>

  </tbody>
</table>

`object` & [`OauthProviderConfig`](OauthProviderConfig) & [`OauthRedirectConfig`](OauthRedirectConfig)

```ts
{
  accessToken?: string;
  bundle: string;
  idToken: string;
  isNewUser?: boolean;
  orgId: string;
  type: "oauthReturn";
}
```

<table>
  <thead>
    <tr>
      <th align="left">Name</th>
      <th align="left">Type</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        `accessToken?`
      </td>

      <td>
        `string`
      </td>
    </tr>

    <tr>
      <td>
        `bundle`
      </td>

      <td>
        `string`
      </td>
    </tr>

    <tr>
      <td>
        `idToken`
      </td>

      <td>
        `string`
      </td>
    </tr>

    <tr>
      <td>
        `isNewUser?`
      </td>

      <td>
        `boolean`
      </td>
    </tr>

    <tr>
      <td>
        `orgId`
      </td>

      <td>
        `string`
      </td>
    </tr>

    <tr>
      <td>
        `type`
      </td>

      <td>
        `"oauthReturn"`
      </td>
    </tr>

  </tbody>
</table>

```ts
{
  authProviderId?: string;
  jwt: string;
  type: "custom-jwt";
}
```

<table>
  <thead>
    <tr>
      <th align="left">Name</th>
      <th align="left">Type</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        `authProviderId?`
      </td>

      <td>
        `string`
      </td>
    </tr>

    <tr>
      <td>
        `jwt`
      </td>

      <td>
        `string`
      </td>
    </tr>

    <tr>
      <td>
        `type`
      </td>

      <td>
        `"custom-jwt"`
      </td>
    </tr>

  </tbody>
</table>

```ts
{
  multiFactors?: VerifyMfaParams[];
  otpCode: string;
  type: "otp";
}
```

<table>
  <thead>
    <tr>
      <th align="left">Name</th>
      <th align="left">Type</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        `multiFactors?`
      </td>

      <td>
        [`VerifyMfaParams`](VerifyMfaParams)\[]
      </td>
    </tr>

    <tr>
      <td>
        `otpCode`
      </td>

      <td>
        `string`
      </td>
    </tr>

    <tr>
      <td>
        `type`
      </td>

      <td>
        `"otp"`
      </td>
    </tr>

  </tbody>
</table>

`object` & [`AccessKeyAuthParams`](AccessKeyAuthParams)