RLMUser

Objective-C

@interface RLMUser : NSObject

Swift

@_nonSendable(_assumed) class RLMUser : NSObject, @unchecked Sendable

Uma instância RLMUser representa uma única conta de usuário do aplicativo Realm.

Um usuário pode ter uma ou mais credenciais associadas a ele. Essas credenciais identificam exclusivamente o usuário para o provedor de autenticação e são usadas para se conectar em uma conta de usuário do Atlas App Services.

Observe que os objeto de usuário só são vendidos por meio de API do SDK e não podem ser inicializados diretamente. Objeto de usuário podem ser acessados de qualquer thread.

  • A string exclusiva do Atlas App Services que identifica esse usuário. Observe que isso é diferente de uma identidade: um usuário pode ter várias identidades, mas tem um único identificador. Consulte RLMUserIdentity.

    Declaração

    Objective-C

    @property (nonatomic, readonly) NS_SWIFT_NAME(id) NSString *identifier;

    Swift

    var id: String { get }
  • Retorna uma matriz de identidades atualmente vinculadas a um usuário.

    Declaração

    Objective-C

    @property (nonatomic, readonly) NSArray<RLMUserIdentity *> *_Nonnull identities;

    Swift

    var identities: [RLMUserIdentity] { get }
  • O token de atualização do usuário usado para acessar o App Services.

    Por padrão, tokens de atualização expiram 60 dias após serem emitidos. Você pode configurar esse tempo para que os tokens de atualização da sua aplicação estejam entre 30 minutos e 180 dias.

    Você pode configurar o tempo de expiração do token de atualização para todas as sessões em um aplicativo a partir da interface do usuário do administrador ou da API do administrador.

    Declaração

    Objective-C

    @property (nonatomic, readonly, nullable) NSString *refreshToken;

    Swift

    var refreshToken: String? { get }
  • O token de acesso do usuário usado para acessar o App Services.

    Isso é necessário para fazer solicitações HTTP para o Atlas App Services, como Data API ou GraphQL. Devem ser tratados como dados confidenciais.

    O Realm SDK managed automaticamente os tokens de acesso e os atualiza quando expiram.

    Declaração

    Objective-C

    @property (nonatomic, readonly, nullable) NSString *accessToken;

    Swift

    var accessToken: String? { get }
  • O estado atual do usuário.

    Declaração

    Objective-C

    @property (nonatomic, readonly) RLMUserState state;

    Swift

    var state: RLMUserState { get }
  • Indica se o usuário está conectado ou não. Retorna verdadeiro se o token de acesso e o token de atualização não estiverem vazios.

    Declaração

    Objective-C

    @property (nonatomic, readonly) BOOL isLoggedIn;

    Swift

    var isLoggedIn: Bool { get }

Ciclo de vida

Sessões

Dados personalizados

  • Os dados personalizados do usuário. Isso é configurado em seu Atlas App Services App.

    Declaração

    Objective-C

    @property (nonatomic, readonly) NS_REFINED_FOR_SWIFT NSDictionary *customData;
  • O perfil do usuário.

    Declaração

    Objective-C

    @property (nonatomic, readonly) RLMUserProfile *_Nonnull profile;

    Swift

    var profile: RLMUserProfile { get }
  • Atualize os dados personalizados de um usuário. Isso, de fato, atualizará a sessão de autenticação do usuário.

    Declaração

    Objective-C

    - (void)refreshCustomDataWithCompletion:
        (nonnull RLMUserCustomDataBlock)completion;
  • Vincula o usuário atualmente autenticado a uma nova identidade, em que a identidade é definida pela credencial especificada como um parâmetro. Isso só será bem-sucedido se esse RLMUser for o atualmente autenticado com o cliente do qual foi criado. Em caso de sucesso, um novo usuário será retornado com as novas credenciais vinculadas.

    Declaração

    Objective-C

    - (void)linkUserWithCredentials:(nonnull RLMCredentials *)credentials
                         completion:(nonnull RLMOptionalUserBlock)completion;

    Parâmetros

    credentials

    O RLMCredentials costumava vincular o usuário a uma nova identidade.

    completion

    O manipulador de conclusão para chamar quando a vinculação estiver concluída. Se a operação for bem-sucedida, o resultado conterá um novo objeto RLMUser representando o usuário conectado no momento.

  • Remove o usuário

    Isso desconecta e destrói a sessão relacionada a esse usuário. O bloco de conclusão retornará um erro se o usuário não for encontrado ou já estiver removido.

    Declaração

    Objective-C

    - (void)removeWithCompletion:(nonnull RLMUserOptionalErrorBlock)completion;

    Swift

    func remove() async throws

    Parâmetros

    completion

    Uma chamada de resposta invocada na conclusão

  • Exclui permanentemente esse usuário do seu Atlas App Services App.

    O estado do usuário será definido como Removed e a sessão será destruída. Se a solicitação de exclusão falhar, o estado de autenticação local permanecerá intocado.

    Declaração

    Objective-C

    - (void)deleteWithCompletion:(nonnull RLMUserOptionalErrorBlock)completion;

    Swift

    func delete() async throws

    Parâmetros

    completion

    Uma chamada de resposta invocada na conclusão

  • Desconecta o usuário atual

    O estado dos usuários será definido como Removed se for um usuário anônimo ou LoggedOut se for autenticado por um e-mail/senha ou clientes de autenticação de terceiros Se a solicitação de logout falhar, esse método ainda limpará o estado da autenticação local.

    Declaração

    Objective-C

    - (void)logOutWithCompletion:(nonnull RLMUserOptionalErrorBlock)completion;

    Swift

    func logOut() async throws

    Parâmetros

    completion

    Uma chamada de resposta invocada na conclusão

  • Um cliente para o provedor de autenticação de chaves de API do usuário que pode ser usado para criar e modificar chaves de API do usuário.

    Este cliente só deve ser usado por um usuário autenticado.

    Declaração

    Objective-C

    @property (nonatomic, readonly) RLMAPIKeyAuth *_Nonnull apiKeysAuth;

    Swift

    var apiKeysAuth: RLMAPIKeyAuth { get }
  • Um cliente para interagir com uma instância remota do MongoDB

    Declaração

    Objective-C

    - (nonnull RLMMongoClient *)mongoClientWithServiceName:
        (nonnull NSString *)serviceName;

    Parâmetros

    serviceName

    O nome do serviço MongoDB

  • Chama a função Atlas App Services com o nome e os argumentos fornecidos.

    Declaração

    Objective-C

    - (void)callFunctionNamed:(nonnull NSString *)name
                    arguments:(nonnull NSArray<id<RLMBSON>> *)arguments
              completionBlock:(nonnull RLMCallFunctionCompletionBlock)completion;

    Parâmetros

    name

    O nome da função Atlas App Services a ser chamada.

    arguments

    O BSONArray dos argumentos a serem fornecidos para a função.

    completion

    O manipulador de conclusão para chamar quando a chamada de função estiver concluída. Este manipulador é executado em um DispatchQueue global não principal.