Menu Docs
Página inicial do Docs
/ /
Atlas Device SDKs
/ /

AppProvider (@realm/react)

Nesta página

  • Props
  • Configurar o AppProvider
  • Hooks usados com o AppProvider
  • useAuth()
  • Resultado
  • logIn(credenciais)
  • logInWithAnonymous()
  • loginWithApiKey(key)
  • logInWithEmailPassword (credenciais)
  • logInWithJWT (credenciais)
  • logInWithGoogle (credenciais)
  • loginWithApple(idToken)
  • logInWithFacebook(accessToken)
  • logInWithFunction (carga útil)
  • logOut()
  • useEmailPasswordAuth()
  • logIn(credenciais)
  • logOut()
  • registrar(args)
  • confirm(args)
  • reenviarConfirmationEmail(args)
  • retryCustomConfirmation(args)
  • sendResetPasswordEmail(args)
  • reinício da senha (args)
  • callResetPasswordFunction(args, restArgs)
  • useApp()
Type signature
AppProvider(props, context?): null | ReactElement<any, any>

Os componentes aninhados em AppProvider podem acessar seu App Services App e usar os hooks AppProvider .

Todas as propriedades de AppConfiguration podem ser passadas como props para AppProvider.

Para configurar seu cliente de aplicativo, passe a string do ID do aplicativo para a propriedade id do AppProvider. Envolva todos os componentes que precisem acessar o aplicativo com AppProvider.

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

Você pode criar várias instâncias do cliente de aplicativo para se conectar a vários aplicativos. Todas as instâncias de cliente de aplicativo que compartilham a mesma ID de aplicativo usam a mesma conexão subjacente.

Importante

Alterando uma configuração de aplicativo após inicializar o aplicativo

Alterado na versão realm@12.6.0: baseUrl não é armazenado em cache

Quando você inicializa o cliente do aplicativo, a configuração é armazenada em cache internamente. A tentativa de "fechar" e, em seguida, reabrir uma aplicação com uma configuração alterada dentro do mesmo processo não tem efeito. O cliente continua usando a configuração em cache.

Iniciando com React Native SDK versão 12.6.0, o baseUrl no AppConfiguration não é armazenado em cache. Isso significa que você pode alterar o baseUrl e o cliente da aplicação utilizará a configuração atualizada. Em versões anteriores do SDK, as alterações no baseUrl em uma configuração de aplicativo em cache não têm efeito.

Type signature
useAuth(): UseAuth

useAuth tem um método de autenticação para cada provedor de autenticação do App Services.

Type signature
result: AuthResult

Resultado da operação do hook de autenticação. Por exemplo, result.operation fornece o nome da operação atual.

Valores de enumeração

  • state. Pode ser "não iniciado", "pendente", "sucesso" e "erro".

  • operation. Para obter uma lista de todos os nomes de operação, consulte a documentação da API.

  • pending. Pode ser true ou false.

  • success. Pode ser true ou false.

  • error. Objeto baseado em erro ou indefinido.

Type signature
logIn(credentials: Realm.Credentials): void

Parâmetros

  • credentials. Uma credencial Realm fornecida por qualquer autenticação Realm compatível.

Exemplo

Conecta um usuário com qualquer mecanismo de autenticação suportado pelo Realm. Se chamado quando um usuário estiver conectado, o usuário atual mudará para o novo usuário. Normalmente, é melhor usar métodos de login mais 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/>)
}
//...
Type signature
logInWithAnonymous(): void

Exemplo

Faça login com o provedor de autenticação anônima.

const {logInWithAnonymous, result} = useAuth();
const performLogin = () => {
logInWithAnonymous();
};
Type signature
logInWithApiKey(key: string): void

Parâmetros

  • key. Uma string vinculada a um usuário do App Services.

Exemplo

Faça login com uma chave de API.

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

Parâmetros

  • credentials. Um objeto com campos email e password .

Exemplo

Faça login com e-mail/senha.

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

Parâmetros

  • credentials. Uma representação de string do JSON web token de um usuário.

Exemplo

Faça login com um JSON web token (JWT).

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

Parâmetros

  • credentials. Um objeto com um campo idToken ou authCode que deve conter o token de string que você obtém dos Serviços de Identidade do Google.

Exemplo

Faça login com o Google.

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

Parâmetros

  • idToken. Uma string que você obtém do Apple SDK.

Exemplo

Faça login com a Apple.

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

Parâmetros

  • accessToken. Uma string que você obtém do SDK do Facebook.

Exemplo

Faça login com o Facebook.

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

Parâmetros

  • payload. Um objeto que contém as informações do usuário que você deseja passar para a função do App Services que processa solicitações de login.

Exemplo

Faça login com uma função personalizada.

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

Exemplo

Desconecta o usuário atual.

const {logOut, result} = useEmailPasswordAuth();
const performLogout = () => {
logOut();
}
Type signature
result: AuthResult

Resultado da operação do hook de autenticação. Por exemplo, result.operation fornece o nome da operação atual.

Valores de enumeração

  • state. Pode ser "não iniciado", "pendente", "sucesso" e "erro".

  • operation. Para obter uma lista de todos os nomes de operação, consulte a documentação da API.

  • pending. Pode ser true ou false.

  • success. Pode ser true ou false.

  • error. Objeto baseado em erro ou indefinido.

Type signature
logIn(credentials: { email: string; password: string }): void;

Parâmetros

  • credentials. Um objeto que contém as propriedades email e password .

Exemplo

Registra um usuário utilizando um e-mail e senha. Você também pode ligar para logIn(Realm.Credentials.emailPassword(email, password)). Retorna uma instância Realm.User do usuário conectado.

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/>)
}
//...
Type signature
logOut(): void;

Exemplo

Desconecta o usuário atual.

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

Parâmetros

  • args. Um objeto que contém as propriedades email e password .

Exemplo

Registra um novo usuário. Requer um e-mail de usuário e senha.

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

Parâmetros

  • args. Um objeto que contém as propriedades token e tokenId .

Exemplo

Confirma uma conta de usuário. Exige um token e tokenId.

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

Parâmetros

  • args. Um objeto que contém uma propriedade email .

Exemplo

Reenvia um e-mail de confirmação.

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

Parâmetros

  • args. Um objeto que contém uma propriedade email .

Exemplo

Tenta novamente a confirmação com uma função personalizada.

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

Parâmetros

  • args. Um objeto que contém uma propriedade email .

Exemplo

Envia um e-mail de redefinição de senha.

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

Parâmetros

  • args. Um objeto que contém as propriedades token, tokenId e password .

Exemplo

Redefine a senha de um usuário.

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

Parâmetros

  • args. Um objeto que contém as propriedades email e password .

  • restArgs. Argumentos adicionais que você precisa passar para sua função de redefinição de senha personalizada.

Exemplo

Chama a função de redefinição de senha do backend do App Services. Pode passar argumentos para a função conforme necessário.

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

Exemplo

O hook useApp() fornece acesso a uma instância do Realm.App .

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

Devoluções

  • Realm.App Uma instância do Realm.App atual criado por AppProvider.

Voltar

RealmProvider (@realm/react)