ユーザー メタデータの読み取り
Overview
Atlas App Services は、一意の ID とユーザーを説明する追加のメタデータを含むユーザー オブジェクトを使用して、内部的に各アプリケーション ユーザーを表します。 ユーザー オブジェクトにはアクセスできます。
App Services UI でユーザー データを表示します。
%%user
展開を含む ルール式 内。Android 、 iOS 、 Node 、 React Native 、および.NETクライアント アプリケーションでは、Realm SDK を使用します。
スキーマ
ユーザー オブジェクトの形式は次のとおりです。
{ "id": "<Unique User ID>", "type": "<User Type>", "data": { "<Metadata Field>": <Value>, ... }, "custom_data": { "<Custom Data Field>": <Value>, ... }, "identities": [ { "id": <Unique Identity ID>, "provider_type": "<Authentication Provider>", "data": { "<Metadata Field>": <Value>, ... } } ] }
フィールド | タイプ | 説明 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id | string | ユーザーを一意に識別するObjectIdの string 表現。 | ||||||||||||||||
type | string | ユーザーのタイプ。 次のタイプが利用可能です。
| ||||||||||||||||
data | ドキュメント | ユーザーを説明するメタデータを含むドキュメント。 このフィールドは、ユーザーに関連付けられているすべての 注意システム関数にはユーザー データはありませんシステム関数では、 | ||||||||||||||||
custom_data | ドキュメント | アプリケーションのカスタム ユーザー データ コレクションからのドキュメントで、ユーザーの ID を指定します。 カスタム ユーザー データ コレクションを使用して、アプリケーションのユーザーに関する任意のデータを保存できます。 注意大規模なカスタム ユーザー データの保存を避けるカスタム ユーザー データは、MongoDB ドキュメントの最大サイズである | ||||||||||||||||
identities | 配列 | ユーザーに関連付けられた認証プロバイダ ID のリスト。 ユーザーが初めて特定のプロバイダーにログインすると、App Services はそのユーザーを、一意な識別子とプロバイダーからのユーザーに関する追加メタデータを含む ID オブジェクトに関連付けます。 後続のログインでは、App Services は既存の ID データを更新しますが、新しい ID は作成しません。 ID オブジェクトの形式は次のとおりです。
|
注意
一般に、App Services は、特定のユーザーが初めて認証するときに、そのユーザーのユーザー オブジェクトを作成します。 App Services UI を使用してテストのメール/パスワードユーザーを作成すると、App Services はそのユーザーのユーザー オブジェクトをすぐに作成します。
ユーザーの検索
1 人以上のユーザーに関する情報を検索するには、左側のナビゲーション メニューで App Usersをクリックします。 ページには Atlas App Services アプリに関連付けられているユーザーのリストがあるUsersタブが開きます。
Tip
検索するユーザーの ID がすでにわかっている場合は、 Usersテーブル検索バーでそのユーザーの ID を検索できます。
1 人以上のユーザーに関する情報を検索するには、 appservices users
list
を呼び出します。 CLI では、アプリ ID の入力を求められ、選択するアプリのユーザーが一覧表示されます。
appservices users list
プログラムを呼び出すときに引数を指定することもできます。
appservices users list --app=<Your App ID>
1 人以上のユーザーに関する情報を検索するには、次の形式でGET
リクエストを作成します。 グループ ID とアプリ ID を指定する必要があります。
curl --request GET \ --header 'Authorization: Bearer <access_token>' \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/users
検索するユーザーの ID がすでにわかっている場合は、リクエスト URL にその ID を追加できます。
curl --request GET \ --header 'Authorization: Bearer <access_token>' \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/users/<userId>
フィルターユーザー
フィルター条件を満たすユーザーのサブセットにユーザーのリストを制限するフィルターを指定できます。
フィルターを定義するには、 Usersテーブルの上部にあるfilter barを使用します。 次の方法でフィルタリングできます。
Provider type
匿名
メール/パスワード
API キー
Facebook
Google
Apple
カスタム JWT
カスタム関数
Status
確認済み
支払い待ち
State
enabled
disabled
次のフラグと引数を使用してユーザー操作をフィルタリングできます。
--pending
: 含めると保留中のユーザーのみが一覧表示されます。 それ以外の場合、 には確認済みのユーザーのみがリストされます。--state
: 指定された状態のユーザーのみを一覧表示"enabled"
"disabled"
--provider
:"anon-user"
"local-userpass"
"api-key"
"oauth2-facebook"
"oauth2-google"
"oauth2-apple"
"custom-token"
"custom-function"
例
次のコマンドは、出力を保留中の(未確認)のメール/パスワード ユーザーのみに制限します。
appservices users list --pending --provider="local-userpass"
例
次のコマンドは、出力を無効なユーザーのみに制限します。
appservices users list --state="disabled"
次のクエリ パラメーターを使用してユーザー操作をフィルタリングできます。
Parameter | タイプ | 説明 |
---|---|---|
after | string | 前回のページ分割リクエストによって返された最後のユーザーの id 。 |
sort | string | 結果を並べ替えるフィールド名。有効な値はデフォルトの _id のみです。 |
desc | ブール値 | true の場合は、降順で並べ替えられた結果を返します。 指定されない場合、または false に設定されている場合、結果は昇順で返されます。 |
例
次の リクエストでは、 _id
の降順でユーザーが返されます。
curl --request GET \ --header 'Authorization: Bearer <access_token>' \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/users?desc=true
また、保留中の(未確認)のメール/パスワード ユーザーのみに結果を制限することもできます。 次の形式でGET
リクエストを作成します。
curl --request GET \ --header 'Authorization: Bearer <access_token>' \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/user_registrations/pending_users
ユーザー データの表示
ユーザーのデバイスの表示
ユーザーがアプリケーションに接続すると、Atlas App Services は次のような情報をログに記録します。
ログに記録される情報には、以下のものが含まれます。
デバイス プラットフォームは、 HTTPクライアント(「cloud」、「firefox」、「fhan名js」など)またはモバイル OS(「 iOS 」、「 Android 」など)のいずれかになります。
プラットフォームのバージョン。
デバイス上のアプリのバージョン。
一意のデバイス ID。
この情報を表示するには、ユーザーのリストから次の情報を表示します。
表示するデバイスを持つユーザーを見つけます。
...をクリックしてオプション メニューを開き、 View Devicesを選択します。
ユーザーのプロバイダー データの表示
ユーザーがアプリケーションに接続し、有効にした認証プロバイダのいずれかを使用して認証するたびに、App Services はプロバイダー データをログに記録します。
この情報を表示するには、ユーザーのリストから次の情報を表示します。
プロバイダー データを表示するユーザーを見つけます。
...をクリックしてオプション メニューを開き、 View Provider Dataを選択します。
ユーザーのアクティビティ ログの表示
App Services は、実行された関数呼び出しを含め、各 App ユーザーによって行われたすべてのリクエストを記録します。 また、関数がconsole.log
、 console.warn
、またはconsole.error
を使用してログに書き込む場合、これらのエントリは関数のログ出力に含まれます。
この情報を表示するには、ユーザーのリストから次の情報を表示します。
アクティビティ データを表示するユーザーを見つけます。
[ View Activityをクリックします。 これにより、その特定のユーザーが行ったリクエストのログにリダイレクトされます。 エントリを展開すると、そのリクエストの詳細が表示されます。
概要
ユーザー オブジェクトには、アプリ ロジックで使用できるユーザーに関する関連情報が含まれています。
ユーザー オブジェクトに含まれる正確な情報は、使用される認証プロバイダによって異なります。
App Services UI の
Users
ページでユーザーを検索できます。App Services は、ユーザーの接続済みデバイス、プロバイダー データ、アクティビティ ログなどの情報を記録します。