类用户
该类表示 Atlas App Services 应用程序中的用户。 凭证由各种第三方提供商(Facebook、Google 等)提供。 用户可以登录服务器,如果授予访问权限,则可以同步本地和远程 Realm。 此外,当用户注销时,同步也会停止。 可以保留用户。 检索用户后,无需再次登录第 3 方提供商。 在会话之间保留用户时,用户的档案会本地存储在设备上,并且应被视为敏感数据。
implements
命名空间: Realm 。 Sync
程序集:Realm.dll
语法
public class User : IEquatable<User>
属性
| 编辑本页 查看源代码AccessToken
获取此用户的访问令牌。 这是用户访问 MongoDB Atlas 数据的凭证,应被视为敏感信息。
声明
public string AccessToken { get; }
属性值
类型 | 说明 |
---|---|
字符串 | 可用于在服务器之前表示此用户的唯一字符串。 |
API 密钥
获取一个User.ApiKeyClient实例,该实例公开管理用户 API 密钥的功能。
声明
public User.ApiKeyClient ApiKeys { get; }
属性值
类型 | 说明 |
---|---|
用户. ApiKeyClient | 范围为此 User 的 User.ApiKeyClient 实例。 |
另请参阅
| 编辑本页 查看源代码应用
获取与此用户关联的应用。
声明
public App App { get; }
属性值
类型 | 说明 |
---|---|
应用 | 拥有此用户的应用实例。 |
DeviceId
获取用户登录设备的唯一标识符。
声明
public string DeviceId { get; }
属性值
类型 | 说明 |
---|---|
字符串 | 标识当前设备的唯一字符串。 |
功能
获取一个User.FunctionsClient实例,该实例公开调用远程 Realm 函数 的功能。
声明
public User.FunctionsClient Functions { get; }
属性值
类型 | 说明 |
---|---|
用户. FunctionsClient | 作用域为此 User 的 User.FunctionsClient 实例。 |
另请参阅
| 编辑本页 查看源代码id
在 Atlas App Services 中获取此用户的 Id。
声明
public string Id { get; }
属性值
类型 | 说明 |
---|---|
字符串 | 唯一标识该用户的字符串。 |
身份
获取与该用户关联的所有身份的collection。
声明
public UserIdentity[] Identities { get; }
属性值
类型 | 说明 |
---|---|
UserIdentity [] | 用户在不同Credentials.AuthProvider中的身份。 |
profile
获取该用户的配置文件信息。
声明
public UserProfile Profile { get; }
属性值
类型 | 说明 |
---|---|
UserProfile | 一个UserProfile对象,包含用户的姓名、电子邮件等信息。 |
提供商
获取一个值,该值指示此用户登录时使用的Credentials.AuthProvider 。
声明
[Obsolete("User.Provider wasn't working consistently and will be removed in a future version. You can get the provider of the user identity instead.")]
public Credentials.AuthProvider Provider { get; }
属性值
类型 | 说明 |
---|---|
凭证。 AuthProvider | 用于登录用户的Credentials.AuthProvider 。 |
RefreshToken
获取此用户的刷新令牌。 这是用户访问 MongoDB Atlas 数据的凭证,应被视为敏感信息。
声明
public string RefreshToken { get; }
属性值
类型 | 说明 |
---|---|
字符串 | 可用于刷新用户档案的唯一字符串。 |
州
获取用户的当前状态。
声明
public UserState State { get; }
属性值
类型 | 说明 |
---|---|
UserState | 指示用户是处于活动状态、已注销还是已发生错误的值。 |
方法
| 编辑本页 查看源代码等于(用户?)
通过比较此实例与另一个User实例的身份,确定它们是否相等。
声明
public bool Equals(User? other)
参数
类型 | 名称 | 说明 |
---|---|---|
user | 其他 | 要比较的User实例。 |
返回:
类型 | 说明 |
---|---|
bool | 如果两个实例相等,则为 true;否则为 false。 |
GetCustomData()
获取 Realm 应用中与此用户关联的自定义用户数据。
声明
public BsonDocument? GetCustomData()
返回:
类型 | 说明 |
---|---|
BsonDocument | 包含用户数据的文档。 |
备注
仅当刷新用户的访问令牌或显式调用RefreshCustomDataAsync()时,才会刷新数据。
另请参阅
| 编辑本页 查看源代码GetCustomData<T>()
获取 Realm 应用中与该用户关联的自定义用户数据,并将其解析为指定类型。
声明
public T? GetCustomData<T>() where T : class
返回:
类型 | 说明 |
---|---|
t | 包含用户数据的文档。 |
类型参数
名称 | 说明 |
---|---|
t | 与自定义数据文档的形状匹配的托管类型。 |
备注
仅当刷新用户的访问令牌或显式调用RefreshCustomDataAsync()时,才会刷新数据。
另请参阅
| 编辑本页 查看源代码GetMongoClient(string)
获取用于访问 MongoDB database 中文档的MongoClient实例。
声明
public MongoClient GetMongoClient(string serviceName)
参数
类型 | 名称 | 说明 |
---|---|---|
字符串 | serviceName | 服务器上配置的服务名称。 |
返回:
类型 | 说明 |
---|---|
MongoClient | 一个MongoClient实例,可以与远程服务中公开的数据库进行交互。 |
LinkCredentialsAsync(Credentials)
将当前用户与给定档案表示的新用户身份关联。
声明
public Task<User> LinkCredentialsAsync(Credentials credentials)
参数
类型 | 名称 | 说明 |
---|---|---|
凭证 | 凭证 | 与当前用户关联的凭证。 |
返回:
类型 | 说明 |
---|---|
任务<用户> | 表示远程链接凭证操作的可等待Task<TResult> 。 成功完成后,任务结果将包含档案所链接的用户。 |
备注
将用户与更多凭证相关联,平均值该用户可以登录这些凭证中的任何一个。它还可以通过将匿名用户与以下内容链接来“升级”: 电子邮件/密码凭证。
注意:无法关联 Atlas App Services 的两个现有用户。 所提供的档案不得被其他用户使用。
有关电子邮件/密码身份验证的注意事项:要将用户与一组新的EmailPassword(string, string) 档案关联起来,您需要首先通过调用RegisterUserAsync(string, string)来注册这些档案。
示例
以下代码片段展示了如何将电子邮件和密码与匿名用户关联,允许他们在不同的设备上登录。
var app = App.Create("app-id")
var user = await app.LogInAsync(Credentials.Anonymous());
// This step is only needed for email password auth - a password record must exist
// before you can link a user to it.
await app.EmailPasswordAuth.RegisterUserAsync("email", "password");
await user.LinkCredentialsAsync(Credentials.EmailPassword("email", "password"));
|
编辑本页
查看源代码
LogOutAsync()
删除用户的本地档案,并尝试使服务器中的刷新令牌失效。
声明
public Task LogOutAsync()
返回:
类型 | 说明 |
---|---|
任务 | 代表远程注销操作的可等待任务。 |
RefreshCustomDataAsync()
从服务器重新获取用户的自定义数据。
声明
public Task<BsonDocument?> RefreshCustomDataAsync()
返回:
类型 | 说明 |
---|---|
任务< BsonDocument > | 表示远程刷新操作的可等待任务<TResult> 。结果是包含更新的自定义用户数据的MongoDB.Bson.BsonDocument 。 GetCustomData()返回的值也将使用新信息进行更新。 |
RefreshCustomDataAsync<T>()
从服务器重新获取用户的自定义数据。
声明
public Task<T?> RefreshCustomDataAsync<T>() where T : class
返回:
类型 | 说明 |
---|---|
任务<T> | 表示远程刷新操作的可等待任务<TResult> 。结果是一个包含更新的自定义用户数据的对象。 GetCustomData<T>()返回的值也将使用新信息进行更新。 |
类型参数
名称 | 说明 |
---|---|
t | 与自定义数据文档的形状匹配的托管类型。 |
ToString()
返回表示当前对象的字符串。
声明
public override string ToString()
返回:
类型 | 说明 |
---|---|
字符串 | 表示当前对象的字符串。 |
覆盖
事件(Events)
| 编辑本页 查看源代码已更改
属性值更改时发生。
声明
public event EventHandler? Changed
eventType
类型 | 说明 |
---|---|
EventHandler |
操作符
| 编辑本页 查看源代码操作符 ==(User?, User?)
确定两个User实例是否相等。
声明
public static bool operator ==(User? user1, User? user2)
参数
类型 | 名称 | 说明 |
---|---|---|
user | user1 | 要比较的第一个用户。 |
user | user2 | 要比较的第二个用户。 |
返回:
类型 | 说明 |
---|---|
bool |
|
操作符 !=(User?, User?)
确定两个User实例是否不同。
声明
public static bool operator !=(User? user1, User? user2)
参数
类型 | 名称 | 说明 |
---|---|---|
user | user1 | 要比较的第一个用户。 |
user | user2 | 要比较的第二个用户。 |
返回:
类型 | 说明 |
---|---|
bool |
|