> ## 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.

# useAuthenticateConnectedUser

<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

A hook which can be used to authenticate an already connected user. It's useful when there is a need to authenticate a user who is currently in [connect-only](/react/wallets/external-wallets/connected-vs-authenticated) mode.

<Note>
  Learn more about the different authentication modes [here](/react/wallets/external-wallets/connected-vs-authenticated).
</Note>

The hook needs to be initialized within a child of `DynamicContextProvider`

### Usage

#### Available functions and states:

* `authenticateUser` - when called starts signing already connected user.
* `isAuthenticating` - boolean which indicates the state of authentication.

#### Example usage:

```TypeScript theme={"system"}
const AuthenticateConnectedUserButton = () => {
  const { authenticateUser, isAuthenticating } = useAuthenticateConnectedUser();

  return (
    <button onClick={ authenticateUser } disable={ isAuthenticating }>
    { isAuthenticating ? 'Authenticating ...' : 'Authenticate connected wallet' }
    </button>
  )
}
```
