B2B Saas Authentication

/

Mobile SDKs

/

React Native SDK reference

/

Passwords

/

Authenticate

Authenticate

The Authenticate method wraps the Authenticate Password API endpoint. This endpoint verifies that the Member 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 complete details.

If this method succeeds, the Member will be logged in, granted an active session, and the session cookies will be minted and stored in the browser.

If there is a current Member Session, the SDK will call the endpoint with the session token. This will add the new factor to the existing Member Session.

If there is an intermediate session token, the SDK will call the endpoint with it. If the resulting set of factors satisfies the organization's primary authentication requirements and MFA requirements, the intermediate session token will be consumed and converted to a Member Session. If not, the same intermediate session token will be returned.

If this method succeeds and the Member is not required to complete MFA, the Member will be logged in, granted an active session, and the session data will be persisted on device.

If this method succeeds and MFA is required, the intermediate session token will be persisted on device.

You can listen for successful login events anywhere in the codebase with the stytch.session.onChange() method or useStytchMemberSession hook.


Method parameters


email_address*string

password*string

session_duration_minutes*int

organization_id*string

Response fields


request_idstring

status_codeint

method_idstring

member_idstring

organization_idstring

reset_sessionsboolean

session_jwtstring

session_tokenstring

intermediate_session_tokenstring

member_authenticatedboolean

mfa_requiredobject

member_sessionobject

memberobject

organizationobject
import React, { useCallback } from 'react';
import { Text, TouchableOpacity, View } from 'react-native';
import { useStytchB2BClient } from '@stytch/react-native/b2b';

export const Login = () => {
  const stytch = useStytchB2BClient();

  const authenticatePassword = useCallback(() => {
    stytch.passwords.authenticate({
      email_address: 'sandbox@stytch.com',
      organization_id: 'organization-test-07971b06-ac8b-4cdb-9c15-63b17e653931',
      password: 'q8Zs)L0t1Emx_I61',
      session_duration_minutes: 60,
    });
  }, [stytch]);

  return (
    <View>
      <TouchableOpacity onPress={authenticatePassword}>
        <Text>Authenticate Password</Text>
      </TouchableOpacity>
    </View>
  );
};

RESPONSE

200
{
    "status_code": 200,
    "request_id": "request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141",
    "method_id": "member-email-test-1dd089b3-8904-47ef-b943-987968e549d4",
    "member_id": "member-test-32fc5024-9c09-4da3-bd2e-c9ce4da9375f",
    "organization_id": "organization-test-07971b06-ac8b-4cdb-9c15-63b17e653931",
    "reset_sessions": false,
    "session_jwt": "example_jwt",
    "session_token": "mZAYn5aLEqKUlZ_Ad9U_fWr38GaAQ1oFAhT8ds245v7Q",
    "intermediate_session_token": "",
    "member_authenticated": true,
    "mfa_required": null,
    "member_session": {...},
    "member": {...},
    "organization": {...}
}