連載 [第7回] :
MongoDB Realmでモバイルアプリ開発を試してみよう!Custom User Dataを利用してユーザーに管理者属性を追加しよう
2022年5月27日(金)
はじめに
前回は、MongoDB Realmの認証機能を利用したサインインとサインアップの処理を作成しました。
今回は、アプリの管理者ユーザーを追加します。ユーザーが「管理者であるかどうか」を判定できるようにする必要がありますが、これを MongoDB Realmの「Custom User Data」という機能を使用して実現します。Custom User Dataを使用するとユーザーにカスタムデータ (属性値)を付与でき、ユーザーの差別化や特徴付けなどが可能になります。
本稿で使用するサンプルコードは、こちらからダウンロードできます。
アプリで使用する
データベースの作成
まずは、このモバイルアプリで使用するデータベースを作成します。引き続き、第2回で作成した“CreationlineCluster”という名前のクラスターを使用します。
- MongoDB Cloudのポータルサイトにサインインする
- Atlasのダッシュボードが表示されるので“CreationlineCluster”の[Browse Collections]ボタンをクリックする
- [+ Create Database]ボタンをクリックする
- ダイアログが表示されるので、[Database name]に“sampleapp”、Collection nameに“custom_user_data”と入力して[Create]ボタンをクリックする
- “sampleapp”データベースと“custom_user_data”コレクションが作成される
これで、データベースの作成は完了です。
【参照】How to Create a Database in MongoDB
Custom User Dataの有効化
続いて、Custom User Dataを有効化し、ユーザーカスタムデータを付与できるようにします。Custom User Dataの有効化は、ポータルサイトのRealmアプリ管理ページから行います。クラスターと同様に、第2回で作成した“SampleApp”を使用して説明します。
- [Realm]タブをクリックし、SampleAppをクリックする
- 左メニューから[App Users]をクリックする
- [Custom User Data]タブをクリックする
- [Enable Custom User Data]を「ON」にする
- [Store Custom User Data]のフィールドを、それぞれ以下のように設定する
・Cluster Name:mongodb-atlas
・Database Name:sampleapp
・Collection Name:custom_user_data
- [User ID Field]に“user_id”と入力し、[Save]ボタンをクリックする
これで、Custom User Dataの有効化は完了です。この設定では“custom_user_data”というコレクションに“user_id”という名前のフィールドを持つドキュメントを追加することで、カスタムデータ設定用のドキュメントになります。具体的にどのようなドキュメントを追加するかについては、後述します。
管理者ユーザーの追加と
カスタムデータの設定
管理者ユーザーの追加
管理者となるユーザーを追加します。
- [Users]タブからSampleAppをクリックし、[Add New User]ボタンをクリックする
- [Email Address][Password][Confirm Password]に適当な値を入力し、[Create]ボタンをクリックする。ここでは“admin@sampleapp.local”とする。パスワードは前回でアプリ上の制限(英数字のみで8〜16文字)を設けているため、その制限に合わせて入力する
- ユーザーが作成される。作成後はコピーボタンをクリックしてIDをコピーしておく(コピーしたIDはすぐ後の手順で使用)
これで、管理者ユーザーの作成も完了です。
連載バックナンバー
Think ITメルマガ会員登録受付中
Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。
全文検索エンジンによるおすすめ記事
- MongoDB Realmのパーティションへの理解を深めよう
- サンプルプログラムで MongoDB Realm のデータ同期を確認する
- MongoDB Realmを利用したCRUD機能を実装しよう
- Visual StudioでXamarin+Realmアプリの開発環境をセットアップ
- 「Flexible Sync」でデータを同期してみよう
- Realmアプリの機能を利用して認証機能を作ろう(後編)
- Rancherのカスタムカタログの作成
- MongoDB Atlasクラスタの作成とMongoDB Realmアプリのデプロイ
- Realmアプリの機能を利用して認証機能を作ろう
- GitLabを用いた継続的インテグレーション