ユーザーとの連携 - .NET SDK
Overview
Atlas App Services を使用してクライアントアプリをサポートすると、 ユーザー オブジェクトにアクセスできます。 .NET SDK を使用すると、次のことが可能になります。
ユーザーの作成と削除
ユーザーのログインとログアウト
カスタムユーザーデータの作成と更新
他のログイン プロバイダーからユーザー メタデータを読み取る
ユーザーの作成と削除
メール/パスワード認証を除くすべての認証プロバイダーの場合、App Services はユーザーが初めて認証するときにユーザー オブジェクトを自動的に作成します。 ユーザーが複数の方法で認証する場合は、これらのユーザー ID を 1 つのユーザー オブジェクトにリンクできます。
ユーザー オブジェクト を削除できます。 ユーザー オブジェクトを削除すると、ユーザー オブジェクトに添付されているメタデータが削除されますが、バックエンドまたはカスタム ユーザー データからユーザーが入力したデータは削除されません。 カスタムユーザーデータを削除するには、「 ユーザーのカスタムデータの削除 」を参照してください。
Tip
Appleアカウントの削除要件
Apple は、アプリケーションが App Store App Storeリストされることを要求しています 。 アカウントを作成したすべてのユーザーに、アカウントを削除するオプションを提供する必要があります。メールや パスワード認証など、ユーザーを手動で登録する必要がある認証方法を使用する場合でも、Apple でサインインなどのユーザーを自動的に作成する認証方法を使用する場合でも、 年 6 月30 日までに ユーザー アカウントの削除 を実装する必要があります。 。2022
ユーザーのログインとログアウト
1 つ以上の認証プロバイダを使用して、ユーザーをクライアントアプリにログインまたはログアウトさせます。 ここでは、次の作業が可能です。
Apple、Facebook、Google などの既存のサードパーティ アカウントでユーザーをログインさせます。
App Services のメール/パスワード管理、または独自のカスタム関数またはカスタムJSON web tokenユーザー管理を使用して、新しいユーザー アカウントを作成します。
匿名ユーザーを有効にすると、ユーザー データを保持せずに App Services App にアクセスできます。
ログインしているユーザーがある場合、SDK メソッドによって次のことが可能になります。
ユーザーの構成オブジェクトと同期された Realmを開きます
ログイン ユーザーとしてバックエンド関数を実行
マルチユーザー アプリケーションでアクティブなユーザーを変更する
デバイスからユーザーを削除する
ログインが成功すると、.NET SDK はデバイスの認証情報をキャッシュします。 ログイン フローをバイパスし、キャッシュされたユーザーにアクセスできます。 これを使用して、Realm を開くか、次回のアプリが開くときに関数を呼び出します。
ユーザー セッション
App Services はアクセス トークンとリフレッシュ トークンを使用してセッションを管理します。 クライアント SDK は、トークンを管理し、そのトークンにリクエストを提供するためのロジックを提供します。
Realm は リフレッシュ トークン を使用して、ユーザーのアクセス トークンの有効期限が切れると自動的に更新されます。 ただし、Realm はリフレッシュ トークンを自動的に更新しません。 リフレッシュ トークンの有効期限が切れると、SDK は更新されたアクセス トークンを取得できなくなり、ユーザーが再度ログインするまでデバイスは同期できなくなります。
ユーザー セッションとトークンの管理の詳細については、App Services ドキュメントの「ユーザー セッション 」を参照してください。
カスタムユーザーデータの読み取りと更新
カスタム データを、希望言語やローカル タイムゾーンなどのユーザー オブジェクトに関連付け、クライアント アプリケーションから読み取ることができます。 ユーザー オブジェクトには、カスタム ユーザー データにアクセスするために使用できる customData
プロパティがあります。
カスタム ユーザー データを作成およびアップデートするには、MongoDB データソースに直接アクセスする必要があります。 App Services では、このカスタム ユーザー データを作成または更新するための SDK メソッドは提供されていません。これは読み取り専用のプロパティです。
ログイン プロバイダーからのユーザー メタデータの読み取り
一部の認証プロバイダでは、開発者が氏名やメールアドレスなどのユーザー メタデータにアクセスできるようにしています。 App Services アプリケーションでこれらのメタデータ フィールドを構成すると、クライアント アプリからこのメタデータを読み取ることができます。 ユーザー オブジェクトには、ユーザー メタデータにアクセスするために使用できるprofile
プロパティがあります。