Docs Menu
Docs Home
/ /
Referencia de API

Proveedor de aplicaciones (@realm/react)

Tipo de firma
AppProvider(props, context?): null | ReactElement<any, any>

Componentes anidados dentro AppProvider puede acceder a su aplicación de servicios de aplicaciones y utilizar los ganchos AppProvider.

Todas las propiedades de AppConfiguration se puede pasar como propiedad AppProvider a.

Para configurar el cliente de la aplicación, pasa la cadena de ID de la aplicación a la propiedad id de AppProvider. Encapsula cualquier componente que necesite acceder a la aplicación con AppProvider.

import React from 'react';
import {AppProvider} from '@realm/react';
function AppWrapper() {
return (
<View>
<AppProvider id={APP_ID}>
<MyApp />
</AppProvider>
</View>
);
}

Puedes crear varias instancias de cliente de aplicación para conectarte a varias aplicaciones. Todas las instancias de cliente de aplicación que comparten el mismo ID de aplicación usan la misma conexión subyacente.

Importante

Cambiar la configuración de una aplicación después de inicializarla

Cambiado en la versión realm@12.6.0: baseUrl no está almacenado en caché

Al inicializar el cliente de la aplicación, la configuración se almacena en caché internamente. Intentar cerrar y volver a abrir una aplicación con la configuración modificada dentro del mismo proceso no tiene ningún efecto. El cliente continúa usando la configuración en caché.

A partir de la versión del SDK de React 12.6.0 Native, el baseUrl del AppConfiguration no se almacena en caché. Esto significa que puedes cambiar el baseUrl y el cliente de la aplicación usará la configuración actualizada. En versiones anteriores del SDK, los cambios en el baseUrl de una configuración de la aplicación almacenada en caché no surten efecto.

Tipo de firma
useAuth(): UseAuth

useAuth tiene un método de autenticación para cada proveedor de autenticación de App Services.

Tipo de firma
result: AuthResult

Resultado de la operación de autenticación. Por ejemplo, result.operation proporciona el nombre de la operación actual.

Enum values

  • statePuede ser "no iniciado", "pendiente", "éxito", "error".

  • operationPara obtener una lista de todos los nombres de operaciones, consulte la documentación de la API.

  • pending. Puede ser true o false.

  • success. Puede ser true o false.

  • errorObjeto basado en errores o indefinido.

Tipo de firma
logIn(credentials: Realm.Credentials): void

Parámetros

  • credentials. Una credencial de Realm proporcionada por cualquier autenticación de Realm compatible.

Ejemplo

Inicia sesión con cualquier mecanismo de autenticación compatible con Realm. Si se llama al iniciar sesión, el usuario actual se convierte en el nuevo. Normalmente, es mejor usar métodos de inicio de sesión más específicos.

const {logIn, result} = useAuth();
useEffect(() => logIn(Realm.Credentials.anonymous()), []);
if(result.pending) {
return (<LoadingSpinner/>)
}
if(result.error) {
return (<ErrorComponent/>)
}
if(result.success) {
return (<SuccessComponent/>)
}
//...
Tipo de firma
logInWithAnonymous(): void

Ejemplo

Inicie sesión con el proveedor de autenticación anónimo.

const {logInWithAnonymous, result} = useAuth();
const performLogin = () => {
logInWithAnonymous();
};
Tipo de firma
logInWithApiKey(key: string): void

Parámetros

  • key. Una cadena que está vinculada a un usuario de App Services.

Ejemplo

Inicie sesión con una clave API.

const {logInWithApiKey, result} = useAuth();
const performLogin = () => {
const key = getApiKey(); // user defined function
logInWithApiKey(key);
};
Tipo de firma
logInWithEmailPassword(credentials: {
email: string;
password: string;
}): void

Parámetros

  • credentialsUn objeto con campos email y password.

Ejemplo

Inicie sesión con correo electrónico/contraseña.

const {logInWithEmailPassword, result} = useAuth();
const [email, setEmail] = useState('');
const [password, setPassword] = useState('');
const performLogin = () => {
logInWithEmailPassword({email, password});
};
Tipo de firma
logInWithJWT(token: string): void

Parámetros

  • credentials. Una representación de cadena del JWT de un usuario.

Ejemplo

Iniciar sesión con un JSON Web Token (JWT).

const {logInWithJWT, result} = useAuth();
const performLogin = () => {
const token = authorizeWithCustomerProvider(); // user defined function
logInWithJWT(token);
};
Tipo de firma
logInWithGoogle(credentials: {
idToken: string;
} | {
authCode: string;
}): void;

Parámetros

  • credentialsUn objeto con un campo idToken o authCode que debe contener el token de cadena que obtiene de Google Identity Services.

Ejemplo

Inicia sesión con Google.

const {logInWithGoogle, result} = useAuth();
const performLogin = () => {
const token = getGoogleToken(); // user defined function
logInWithGoogle({idToken: token});
};
Tipo de firma
logInWithApple(idToken: string): void;

Parámetros

  • idTokenUna cadena que se obtiene del SDK de Apple.

Ejemplo

Iniciar sesión con Apple.

const {logInWithApple, result} = useAuth();
const performLogin = () => {
const token = getAppleToken(); // user defined function
logInWithApple(token);
};
Tipo de firma
logInWithFacebook(accessToken: string): void;

Parámetros

  • accessTokenUna cadena que obtienes del SDK de Facebook.

Ejemplo

Inicia sesión con Facebook.

const {logInWithFacebook, result} = useAuth();
const performLogin = () => {
const token = getFacebookToken(); // user defined function
logInWithFacebook(token);
};
Tipo de firma
logInWithFunction<PayloadType extends Record<string, unknown>>(payload: PayloadType): void;

Parámetros

  • payloadUn objeto que contiene información del usuario que desea pasar a la función de App Services que procesa las solicitudes de inicio de sesión.

Ejemplo

Inicie sesión con una función personalizada.

const {logInWithFunction, result} = useAuth();
const performLogin = () => {
const customPayload = getAuthParams(); // user defined arguments
logInWithFunction(customPayload);
};
Tipo de firma
logOut(): void;

Ejemplo

Cierra la sesión del usuario actual.

const {logOut, result} = useEmailPasswordAuth();
const performLogout = () => {
logOut();
}
Tipo de firma
result: AuthResult

Resultado de la operación de autenticación. Por ejemplo, result.operation proporciona el nombre de la operación actual.

Enum values

  • statePuede ser "no iniciado", "pendiente", "éxito", "error".

  • operationPara obtener una lista de todos los nombres de operaciones, consulte la documentación de la API.

  • pending. Puede ser true o false.

  • success. Puede ser true o false.

  • errorObjeto basado en errores o indefinido.

Tipo de firma
logIn(credentials: { email: string; password: string }): void;

Parámetros

  • credentialsUn objeto que contiene propiedades email y password.

Ejemplo

Inicia sesión con correo electrónico y contraseña. También puedes llamar a logIn(Realm.Credentials.emailPassword(email, password)). Devuelve una instancia Realm.User del usuario que inició sesión.

const {logIn, result} = useEmailPasswordAuth();
const [email, setEmail] = useState('');
const [password, setPassword] = useState('');
const performLogin = () => {
logIn({email, password});
};
if(result.pending) {
return (<LoadingSpinner/>)
}
if(result.error) {
return (<ErrorComponent/>)
}
if(result.success) {
return (<SuccessComponent/>)
}
//...
Tipo de firma
logOut(): void;

Ejemplo

Cierra la sesión del usuario actual.

const {logOut, result} = useEmailPasswordAuth();
const performLogout = () => {
logOut();
}
Tipo de firma
register(args: { email: string; password: string }): void;

Parámetros

  • argsUn objeto que contiene propiedades email y password.

Ejemplo

Registra un nuevo usuario. Requiere un correo electrónico y una contraseña.

const {register, result} = useEmailPasswordAuth();
const [email, setEmail] = useState('');
const [password, setPassword] = useState('');
const performRegister = () => {
register({email, password});
};
Tipo de firma
confirm(args: { token: string; tokenId: string }): void;

Parámetros

  • argsUn objeto que contiene propiedades token y tokenId.

Ejemplo

Confirma una cuenta de usuario. Requiere token y tokenId.

const {confirm, result} = useEmailPasswordAuth();
const performConfirmation = () => {
confirm({token, tokenId});
};
Tipo de firma
resendConfirmationEmail(args: { email: string }): void;

Parámetros

  • argsUn objeto que contiene una propiedad email.

Ejemplo

Reenvía un correo electrónico de confirmación.

const {resendConfirmationEmail, result} = useEmailPasswordAuth();
const [email, setEmail] = useState('');
const performResendConfirmationEmail = () => {
resendConfirmationEmail({email});
};
Tipo de firma
retryCustomConfirmation(args: { email: string }): void;

Parámetros

  • argsUn objeto que contiene una propiedad email.

Ejemplo

Vuelve a intentar la confirmación con una función personalizada.

const {retryCustomConfirmation, result} = useEmailPasswordAuth();
const [email, setEmail] = useState('');
const performRetryCustomConfirmation = () => {
retryCustomConfirmation({email});
};
Tipo de firma
sendResetPasswordEmail(args: { email: string }): void;

Parámetros

  • argsUn objeto que contiene una propiedad email.

Ejemplo

Envía un correo electrónico de restablecimiento de contraseña.

const {sendResetPasswordEmail, result} = useEmailPasswordAuth();
const [email, setEmail] = useState('');
const performSendResetPasswordEmail = () => {
sendResetPasswordEmail({email});
};
Tipo de firma
resetPassword(args: { token: string; tokenId: string; password: string }): void;

Parámetros

  • argsUn objeto que contiene propiedades token, tokenId y password.

Ejemplo

Restablece la contraseña de un usuario.

const {resetPassword, result} = useEmailPasswordAuth();
const [password, setPassword] = useState('');
const performResetPassword = () => {
resetPassword({token, tokenId, password});
};
Tipo de firma
callResetPasswordFunction<Args extends unknown[] = []>(
args: {
email: string;
password: string;
},
...restArgs: Args
): void;

Parámetros

  • argsUn objeto que contiene propiedades email y password.

  • restArgs. Argumentos adicionales que debe pasar a su función de restablecimiento de contraseña personalizada.

Ejemplo

Llama a la función de restablecimiento de contraseña del backend de App Services. Puede pasarle argumentos según sea necesario.

const {callResetPasswordFunction, result} = useEmailPasswordAuth();
const [email, setEmail] = useState('');
const [password, setPassword] = useState('');
const performResetPassword = () => {
callResetPasswordFunction({email, password}, "extraArg1", "extraArg2");
};
Tipo de firma
useApp<FunctionsFactoryType, CustomDataType>(): Realm.App<FunctionsFactoryType, CustomDataType>

Ejemplo

El useApp() gancho proporciona acceso a una instancia de Realm.App.

import React from 'react';
import {useApp} from '@realm/react';
function MyApp() {
const app = useApp();
// Proceed to app logic...
}

Devuelve

  • Realm.App Una instancia del Realm.App actual creada por AppProvider.

Volver

Proveedor del reino (@realm/react)