Skip to main content
import { StytchClient } from '@stytch/vanilla-js';

const stytch = new StytchClient('${publicToken}');

export const authenticatePassword = async () => {
await stytch.passwords.authenticate({
  email: '${exampleEmail}',
  password: '${examplePassword}',
  session_duration_minutes: 60,
});
};
{
    "request_id": "request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141",
    "session": null,
    "session_jwt": "",
    "session_token": "",
    "status_code": 200,
    "user": {...},
    "user_id": "user-test-16d9ba61-97a1-4ba4-9720-b03761dc50c6",
}
The Authenticate method wraps the Authenticate Password API endpoint. This endpoint verifies that the user has a password currently set, and that the entered password is correct. There are cases where this endpoint will return a reset_password error even if the password entered is correct. View our API Docs for more information. If this method succeeds, the user will be logged in, granted an active session, and the session cookies will be minted and stored in the browser.

Parameters

email
string
required
The email of the user.
password
string
required
The password for the user. Any UTF8 character is allowed, e.g. spaces, emojis, non-English characters, etc.
session_duration_minutes
int
required
Set the session lifetime to be this many minutes from now. This will return both an opaque session_token and session_jwt for this session, which will automatically be stored either in the browser cookies if you’re using our JavaScript SDK, or in the iOS Keychain/ Android SharedPreferences if you’re using one of our mobile SDKs. The session_jwt will have a fixed lifetime of five minutes regardless of the underlying session duration, and will be automatically refreshed by the SDK in the background over time. This value must be a minimum of 5 and may not exceed the maximum session duration minutes value set in the Frontend SDK page of the Stytch Dashboard. A successful authentication will continue to extend the session this many minutes.

Response

user_id
string
The unique ID of the affected User.
user
object
The user object affected by this API call. See the Get user endpoint for complete response field details.
session_token
string
A secret token for a given Stytch Session.
session_jwt
string
The JSON Web Token (JWT) for a given Stytch Session.
session
object
If you initiate a Session, by including session_duration_minutes in your authenticate call, you’ll receive a full Session object in the response. See Session object for complete response fields.
user_device
object
If Protected Auth is enabled and returned fingerprinting results, the user_device response field will contain information about the user’s device attributes.
request_id
string
Globally unique UUID that is returned with every API call. This value is important to log for debugging purposes; we may ask for this value to help identify a specific API call when helping you debug an issue.
status_code
number
The HTTP status code of the response. Stytch follows standard HTTP response status code patterns, e.g. 2XX values equate to success, 3XX values are redirects, 4XX are client errors, and 5XX are server errors.