クラスユーザー
このクラスは、Atlas App Services アプリケーション内のユーザーを表します。 認証情報は、さまざまなサードパーティ プロバイダー(Facebook、Google など)によって提供されます。 ユーザーはサーバーにログインでき、アクセス権が付与されていれば、ローカルとリモートの Realm を同期できます。 さらに、ユーザーがログアウトすると同期は停止します。 ユーザーを永続化することができます。 ユーザーを取得しているため、サード パーティー プロバイダーに再度ログインする必要はありません。 セッション間でユーザーを保持すると、ユーザーの認証情報はデバイスのローカルに保存されるため、機密データとして扱われる必要があります。
実装
名前空間: Realm 。同期
組み立て: Realm.dll
構文
public class User : IEquatable<User>
プロパティ
| このページを編集 ソースを表示AccessToken
このユーザーのアクセス トークンを取得します。 これは MongoDB Atlas データにアクセスするためのユーザーの認証情報であり、機密情報として取り扱う必要があります。
宣言
public string AccessToken { get; }
プロパティ値
タイプ | 説明 |
---|---|
string | サーバーの前にこのユーザーを表すために使用できる一意のstring 。 |
API キー
ユーザー API キーを管理するための機能を公開するUser.ApiKeyClientインスタンスを取得します。
宣言
public User.ApiKeyClient ApiKeys { get; }
プロパティ値
タイプ | 説明 |
---|---|
ユーザー。 ApiKeyClient | この ユーザー にスコープが設定された User.ApiKeyClient インスタンス。 |
その他の参照
| このページを編集 ソースを表示アプリ
このユーザーが関連付けられているアプリを取得します。
宣言
public App App { get; }
プロパティ値
タイプ | 説明 |
---|---|
アプリ | このユーザーを所有するアプリのインスタンス。 |
DeviceId
ユーザーがログインしたデバイスの一意の識別子を取得します。
宣言
public string DeviceId { get; }
プロパティ値
タイプ | 説明 |
---|---|
string | 現在のデバイスを識別する一意のstring 。 |
関数
リモート Atlas Function を呼び出す機能を公開するユーザー.FunctionsClientインスタンスを取得します。
宣言
public User.FunctionsClient Functions { get; }
プロパティ値
タイプ | 説明 |
---|---|
ユーザー。 FunctionsClient | この ユーザー にスコープが設定された User.FunctionsClient インスタンス。 |
その他の参照
| このページを編集 ソースを表示id
Atlas App Services 内のこのユーザーの ID を取得します。
宣言
public string Id { get; }
プロパティ値
タイプ | 説明 |
---|---|
string | そのユーザーを一意に識別する string。 |
ID
このユーザーに関連付けられているすべての ID のコレクションを取得します。
宣言
public UserIdentity[] Identities { get; }
プロパティ値
タイプ | 説明 |
---|---|
ユーザー ID [] | さまざまなCredentials.AuthProviderにわたるユーザーの ID。 |
プロファイル
そのユーザーのプロファイル情報を取得します。
宣言
public UserProfile Profile { get; }
プロパティ値
タイプ | 説明 |
---|---|
ユーザープロファイル | ユーザーの名前、メールなどに関する情報を含む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; }
プロパティ値
タイプ | 説明 |
---|---|
string | ユーザーの認証情報を更新するために使用できる一意のstring 。 |
状態
ユーザーの現在の状態を取得します。
宣言
public UserState State { get; }
プロパティ値
タイプ | 説明 |
---|---|
ユーザー状態 | ユーザーがアクティブか、ログアウトしたか、またはエラーが発生したかを示す値。 |
メソッド
| このページを編集 ソースを表示equals(ユーザーか)
このインスタンスと別のユーザーインスタンスが等しいかどうかを、それらの ID を比較して判断します。
宣言
public bool Equals(User? other)
パラメーター
タイプ | 名前 | 説明 |
---|---|---|
user | その他 | 比較するユーザーインスタンス。 |
戻り値
タイプ | 説明 |
---|---|
ブール | 2 つのインスタンスが等しい場合は 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)
パラメーター
タイプ | 名前 | 説明 |
---|---|---|
string | serviceName | サーバー上で設定されているサービスの名前。 |
戻り値
タイプ | 説明 |
---|---|
MongoClient | リモート サービスで公開されるデータベースを操作できるMongoClientインスタンス。 |
LinkCredentialsAsync(認証情報)
現在のユーザーを、指定された認証情報で表される新しいユーザー ID にリンクします。
宣言
public Task<User> LinkCredentialsAsync(Credentials credentials)
パラメーター
タイプ | 名前 | 説明 |
---|---|---|
Credentials | Credentials | 現在のユーザーにリンクする認証情報。 |
戻り値
タイプ | 説明 |
---|---|
タスク<ユーザー> | リモート リンク認証情報操作を表す待機可能なTask<TResult> 。 正常に完了すると、タスクの結果には認証情報がリンクされたユーザーが含まれます。 |
コメント
より多くの認証情報を持つユーザーをリンクすると、ユーザーはこれらの認証情報のいずれかにログインできます。 また、 を とリンクすると、匿名ユーザーを「アップグレード」することもできます。 メール/パスワードの認証情報。
注:Atlas App Services の既存のユーザー 2 人のユーザーをリンクすることはできません。 提供された認証情報は、別のユーザーによって使用されてはなりません。
メール/パスワード認証に関する注意事項: ユーザーを新しい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()
戻り値
タイプ | 説明 |
---|---|
Task < BsonDocument > | リモート更新操作を表す待機可能なTask<TResult> 。 結果は、更新されたカスタム ユーザー データを含むMongoDB.Bson.BsonDocumentです。 GetCustomData()によって返される値も新しい情報で更新されます。 |
RefreshCustomDataAsync<T>()
ユーザーのカスタム データをサーバーから再取得します。
宣言
public Task<T?> RefreshCustomDataAsync<T>() where T : class
戻り値
タイプ | 説明 |
---|---|
タスク<T> | リモート更新操作を表す待機可能なTask<TResult> 。 結果は、更新されたカスタム ユーザー データを含むオブジェクトです。 GetCustomData<T>()によって返される値も新しい情報で更新されます。 |
型パラメータ
名前 | 説明 |
---|---|
t | カスタム データ ドキュメントの形状に一致するマネージド タイプ。 |
ToString()
現在のオブジェクトを表す string を返します。
宣言
public override string ToString()
戻り値
タイプ | 説明 |
---|---|
string | 現在のオブジェクトを表す string。 |
の上書き
イベント
| このページを編集 ソースを表示変更
プロパティ値が変更されたときに発生します。
宣言
public event EventHandler? Changed
eventType
タイプ | 説明 |
---|---|
EventHandler |
演算子
| このページを編集 ソースを表示演算子 ==(User?, User?)
2 つのユーザーインスタンスが等しいかどうかを決定します。
宣言
public static bool operator ==(User? user1, User? user2)
パラメーター
タイプ | 名前 | 説明 |
---|---|---|
user | user1 | 比較する最初のユーザー。 |
user | user2 | 比較する 2 番目のユーザー。 |
戻り値
タイプ | 説明 |
---|---|
ブール |
|
演算子 !=(User?、User?)
2 つのユーザーインスタンスが異なるかどうかを決定します。
宣言
public static bool operator !=(User? user1, User? user2)
パラメーター
タイプ | 名前 | 説明 |
---|---|---|
user | user1 | 比較する最初のユーザー。 |
user | user2 | 比較する 2 番目のユーザー。 |
戻り値
タイプ | 説明 |
---|---|
ブール |
|