> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dynamic.xyz/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# onAuthInit

<Card title="Recommended: JavaScript SDK with React Hooks" icon="react" color="#4779FE">
  For new React apps, we recommend the JavaScript SDK with React Hooks (`@dynamic-labs-sdk/react-hooks`) instead of the legacy React SDK documented here. The JS SDK comes with many benefits such as a much smaller bundle size and other optimizations. Use the [React quickstart (JavaScript SDK)](/javascript/reference/react-quickstart) to get started.
</Card>

### Summary

This callback will be called when an authentication process initiates.

* For wallets, this is when signature is requested.
* For email and SMS, this is as soon as user provides the phone number or email address.
* For social, this is as soon as user selects a social provider.

### Usage

```TypeScript theme={"system"}
<DynamicContextProvider
  settings={{
    events: {
      onAuthInit: (args) => {
        console.log('onAuthInit was called', args);
      }
    }
  }}
>
 {/* ... rest of your app ... */}
</DynamicContextProvider>
```

### Callback Argument Value

```TypeScript theme={"system"}
{
  type: "email";
  email: string;
  isEmailRecoveryFlow?: boolean;
  // Same as "email"
  option: string;
} | {
  type: "social";
  provider: ProviderEnum;
  // Same as "provider"
  option: ProviderEnum;
} | {
  type: "wallet";
  address: string;
  connectorName: string;
  // Same as "connectorName"
  option: string;
} | {
  type: "sms";
  phone: PhoneData;
  // Same as "phone"
  option: PhoneData;
}
```

<Note>
  For details about ProviderEnum, see [here](/react/reference/objects/verified-credential#providerenum)

  For details about PhoneData, see [here](/react/reference/objects/phone-data)
</Note>
