# Class: AuthProvider

## vertx-auth-common-js/auth_provider~ AuthProvider

#### new AuthProvider()

User-facing interface for authenticating users.

Source:
  - vertx-auth-common-js/auth_provider.js, line 31

### Methods

#### authenticate(authInfo, resultHandler)

Authenticate a user.

The first argument is a JSON object containing information for authenticating the user. What this actually contains depends on the specific implementation. In the case of a simple username/password based authentication it is likely to contain a JSON object with the following structure:

         {
           "username": "tim",
           "password": "mypassword"
         }

For other types of authentication it contain different information - for example a JWT token or OAuth bearer token.

If the user is successfully authenticated a User object is passed to the handler in an AsyncResult. The user object can then be used for authorisation.

##### Parameters:

Name | Type | Description
--- | --- | ---
`authInfo` | Object | The auth information
`resultHandler` | function | The result handler

Source:
  - vertx-auth-common-js/auth_provider.js, line 57