Consumer Authentication

/

Mobile SDKs

/

React Native SDK reference

/

Passwords

/

Reset by Email

Reset by email

The resetByEmail method wraps the Reset By Email Password API endpoint. This endpoint the user’s password and authenticate them. This endpoint checks that the magic link token is valid, hasn't expired, or already been used. The provided password needs to meet our password strength requirements, which can be checked in advance with the Strength Check Password API endpoint.

If this method succeeds, the user will be logged in, granted an active session, and the session data will be persisted on device.

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


Method parameters


token*string

password*string

session_duration_minutes*int

Response fields


request_idstring

status_codeint

user_idstring
import React, { useCallback } from 'react';
import { Text, TouchableOpacity, View } from 'react-native';
import { useStytch } from '@stytch/react-native';

export const Login = ({ token }) => {
  const stytch = useStytch();

  const resetPassword = useCallback(async () => {
    if (token) {
      try {
        await stytch.passwords.resetByEmail({
          token: token,
          password: 'q8Zs)L0t1Emx_I61',
          session_duration_minutes: 60,
        });
      } catch (error) {
        console.error('Password reset error:', error);
      }
    }
  }, [stytch, token]);

  return (
    <View>
      <TouchableOpacity onPress={resetPassword}>
        <Text>Reset Password</Text>
      </TouchableOpacity>
    </View>
  );
};

RESPONSE

200
{
    "status_code": 200,
    "request_id": "request-id-test-b05c992f-ebdc-489d-a754-c7e70ba13141",
    "user_id": "user-test-16d9ba61-97a1-4ba4-9720-b03761dc50c6"
}