类用户
- java.lang.Object
-
- io.realm.mongodb.User
-
public class User extends Object
用户持有用于访问 Realm 应用功能的用户元数据和令牌。该用户用于配置同步 Realm,并授予通过 调用 Realm 应用 函数
Functions
以及通过 { } 访问远程 Realm App Mongo 数据库MongoClient
的访问权限。
-
-
嵌套类摘要
嵌套类 修饰符和类型 类 说明 static class
User.State
用户的潜在状态。
-
方法摘要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 boolean
equals(Object o)
如果两个用户具有相同的用户身份并与同一应用程序关联,则视为相等。String
getAccessToken()
返回用户的当前访问令牌。ApiKeyAuth
getApiKeys()
返回用于管理当前用户控制的 API 密钥的包装器。App
getApp()
返回与此用户关联的App
。Document
getCustomData()
返回与 Realm 应用中的用户关联的自定义用户数据。String
getDeviceId()
返回用户登录设备的唯一标识符。Functions
getFunctions()
返回用于调用 MongoDB Realm 函数的函数经理。Functions
getFunctions(CodecRegistry codecRegistry)
返回一个函数管理器,用于使用自定义编解码器注册表调用 Realm 函数,以对参数和结果进行编码和解码。String
getId()
返回用户的服务器 ID。List<UserIdentity>
getIdentities()
返回用户身份的新列表。MongoClient
getMongoClient(String serviceName)
返回用于访问数据库中文档的MongoClient
实例。UserProfile
getProfile()
返回此用户的配置文件。Credentials.Provider
getProviderType()
返回用于登录用户的提供商类型Push
getPush(String serviceName)
返回用于管理推送通知注册的Push
实例。String
getRefreshToken()
返回用户的当前刷新令牌。User.State
getState()
返回用户所在的User.State
。int
hashCode()
boolean
isLoggedIn()
如果用户当前已登录,则返回 true。User
linkCredentials(Credentials credentials)
将当前用户与给定档案表示的新用户身份关联。RealmAsyncTask
linkCredentialsAsync(Credentials credentials, App.Callback<User> callback)
将当前用户与给定档案表示的新用户身份关联。void
logOut()
将用户从 Realm 应用中注销。RealmAsyncTask
logOutAsync(App.Callback<User> callback)
以异步方式将用户从 Realm 应用中注销。Document
refreshCustomData()
从 Realm 应用重新获取自定义用户数据。RealmAsyncTask
refreshCustomData(App.Callback<Document> callback)
从 Realm 应用中异步重新获取自定义用户数据。User
remove()
调用此函数将从设备中删除用户和用户拥有的任何 Realm。RealmAsyncTask
removeAsync(App.Callback<User> callback)
调用此函数将从设备中异步删除用户以及用户拥有的任何 Realm。
-
-
-
方法详细信息
-
getId
public String getId()
返回用户的服务器 ID。- 返回:
- 用户的服务器 ID。
-
getProfile
public UserProfile getProfile()
返回此用户的配置文件。- 返回:
- 此用户的个人资料
-
getIdentities
public List<UserIdentity> getIdentities()
返回用户身份的新列表。- 返回:
- 身份列表。
- 另请参阅:
UserIdentity
-
getProviderType
public Credentials.Provider getProviderType()
返回用于登录用户的提供商类型- 返回:
- 用户的提供商类型
-
getAccessToken
public String getAccessToken()
返回用户的当前访问令牌。- 返回:
- 当前访问令牌。
-
getRefreshToken
public String getRefreshToken()
返回用户的当前刷新令牌。- 返回:
- 当前刷新令牌。
-
getDeviceId
public String getDeviceId()
返回用户登录设备的唯一标识符。- 返回:
- 用户的唯一设备标识符。
-
getState
public User.State getState()
返回用户所在的User.State
。- 返回:
- 用户的
User.State
。
-
getCustomData
public 文档 getCustomData()
返回与 Realm 应用中的用户关联的自定义用户数据。仅当刷新用户的访问令牌或显式调用
refreshCustomData()
时,才会刷新数据。- 返回:
- 与用户关联的自定义用户数据。
-
refreshCustomData
公共文档刷新自定义数据()
从 Realm 应用重新获取自定义用户数据。- 返回:
- 更新后与用户关联的自定义用户数据。
- 抛出异常:
AppException
- 如果请求因某种原因失败。
-
refreshCustomData
public RealmAsyncTask refreshCustomData(App.Callback<Document> callback)
从 Realm 应用中异步重新获取自定义用户数据。这是
refreshCustomData()
的异步变体。- 参数:
callback
- 将接收请求结果或任何错误的回调。- 返回:
- 代表正在进行的操作的任务。
- 抛出异常:
IllegalStateException
- 如果未在 Looper 线程上调用。
-
isLoggedIn
public boolean isLoggedIn()
如果用户当前已登录,则返回 true。 返回此用户是否仍登录 MongoDB Realm 应用程序。- 返回:
true
如果仍处于登录状态,则返回false
。
-
linkCredentials
公共用户链接凭证(凭证凭证)
将当前用户与给定档案表示的新用户身份关联。将用户与更多凭证相关联,平均值该用户可以登录这些凭证中的任何一个。它还可以通过将匿名用户与以下内容链接来“升级”: 电子邮件/密码凭证。
// Example App app = new App("app-id") User user = app.login(Credentials.anonymous()); user.linkCredentials(Credentials.emailPassword("email", "password"));
注意:无法关联 MongoDB Realm 的两个现有用户。 所提供的档案不得被其他用户使用。
- 参数:
credentials
- 与当前用户关联的凭证。- 返回:
- 凭证链接到的
User
。 - 抛出异常:
IllegalStateException
- 如果当前没有用户登录。
-
linkCredentialsAsync
public RealmAsyncTask linkCredentialsAsync(Credentials credentials, App.Callback<User> callback)
将当前用户与给定档案表示的新用户身份关联。将用户与更多凭证相关联,平均值该用户可以登录这些凭证中的任何一个。它还可以通过将匿名用户与以下内容链接来“升级”: 电子邮件/密码凭证。
// Example App app = new App("app-id") User user = app.login(Credentials.anonymous()); user.linkCredentials(Credentials.emailPassword("email", "password"));
注意:无法关联 MongoDB Realm 的两个现有用户。 所提供的档案不得被其他用户使用。
- 参数:
credentials
- 与当前用户关联的凭证。callback
- 用户身份关联或失败时的回调。 回调将始终发生在调用此方法的同一线程上。- 抛出异常:
IllegalStateException
- 如果从非循环线程调用。
-
删除
public User remove() 抛出AppException
调用此函数将从设备中删除用户和用户拥有的任何 Realm。 不会从服务器中删除任何数据。 如果调用此方法时用户已登录,则在删除任何数据之前,用户将被注销。- 返回:
- 已删除的用户。
- 抛出异常:
AppException
- 如果在尝试删除用户时发生错误。
-
removeAsync
public RealmAsyncTask removeAsync(App.Callback<User> callback)
调用此函数将从设备中异步删除用户以及用户拥有的任何 Realm。 不会从服务器中删除任何数据。 如果调用此方法时用户已登录,则在删除任何数据之前,用户将被注销。- 参数:
callback
- 删除用户已完成或失败时的回调。 回调将始终发生在调用此方法的同一线程上。- 抛出异常:
IllegalStateException
- 如果从非循环线程调用。
-
logout
public void logOut() throws AppException
将用户从 Realm 应用中注销。 这将取消用户在设备上的注册,并停止与用户 Realm 之间的任何双向同步。 在调用remove()
之前,用户拥有的任何 Realm 都不会从设备中删除。一旦 Realm 应用确认注销,所有已注册的
AuthenticationListener
都会收到通知,并且用户档案将从该设备中删除。注销匿名用户会立即将其删除,而不是将其标记为
User.State.LOGGED_OUT
。所有其他用户将被标记为
User.State.LOGGED_OUT
,且仍将由App.allUsers()
返回。 可以通过调用remove()
将其完全删除。- 抛出异常:
AppException
- 如果在尝试将用户从 Realm 应用中注销时发生错误。
-
logOutAsync
public RealmAsyncTask logOutAsync(App.Callback<User> callback)
以异步方式将用户从 Realm 应用中注销。 这将取消用户在设备上的注册,并停止与用户 Realm 之间的任何双向同步。 在调用remove()
之前,用户拥有的任何 Realm 都不会从设备中删除。一旦 Realm 应用确认注销,所有已注册的
AuthenticationListener
都会收到通知,并且用户档案将从该设备中删除。注销匿名用户会立即将其删除,而不是将其标记为
User.State.LOGGED_OUT
。所有其他用户将被标记为
User.State.LOGGED_OUT
,且仍将由App.allUsers()
返回。 可以通过调用remove()
将其完全删除。- 参数:
callback
- 注销完成或失败时的回调。 回调将始终发生在调用此方法的同一线程上。- 抛出异常:
IllegalStateException
- 如果从非循环线程调用。
-
getApiKeys
public ApiKeyAuth getApiKeys()
返回用于管理当前用户控制的 API 密钥的包装器。- 返回:
- 用于管理当前用户控制的 API 密钥的包装器。
- 抛出异常:
IllegalStateException
- 如果当前没有用户登录。
-
getFunctions
公共函数getFunctions()
返回用于调用 MongoDB Realm 函数的函数经理。这将使用关联应用的默认编解码器注册表对参数和结果进行编码和解码。
- 另请参阅:
Functions
-
getFunctions
公共函数getFunctions( CodecRegistry codecRegistry)
返回一个函数管理器,用于使用自定义编解码器注册表调用 Realm 函数,以对参数和结果进行编码和解码。- 参数:
codecRegistry
— 用于对远程 Realm 应用的参数和结果进行编码和解码的编解码器注册表。- 另请参阅:
Functions
-
getMongoClient
public MongoClient getMongoClient( String serviceName)
返回用于访问数据库中文档的MongoClient
实例。- 参数:
serviceName
- 用于连接到服务器的服务名称。
-
-