BaaS ユーザーの管理
BaaS の概要 への移動
このトピックの前に、必ず次のトピックに目を通しておいてください。
BaaS プロバイダ Kinvey および Parse を使って、アプリケーションにユーザー認証を追加できます。
BaaS を使用してユーザーを管理すると、以下が可能になります。
- ユーザー: ユーザーの登録、ユーザー詳細の更新、削除、取得
- ユーザー セッション: ログイン、ログアウト
- ユーザー グループ/ロール: 作成、取得、更新、削除
- (ソーシャル ネットワークなどの)他の ID を使ったユーザー認証の管理
目次
コンポーネント
アプリケーションで次のコンポーネントを使用すると、BaaS ユーザーを管理できます。
- TBackendUsers サービス コンポーネントにより、ユーザー アクションを実行できます。この非ビジュアル コンポーネントを使用すると、ユーザーの登録、ログイン、取得、更新、削除を行うことができます。
このサービス コンポーネント以外にも、次の BaaS プロバイダ コンポーネントのいずれか 1 つが必要です。
- TKinveyProvider – Kinvey を BaaS プロバイダとして使用する場合に、このコンポーネントを使用します。このコンポーネントでは、クラウド サービス接続に関する情報を格納しており、Kinvey BaaS プロバイダとの接続をセットアップします。
- TParseProvider – Parse を BaaS プロバイダとして使用する場合に、このコンポーネントを使用します。このコンポーネントでは、クラウド サービス接続に関する情報を格納しており、Parse BaaS プロバイダとの接続をセットアップします。
ユーザーの新規作成
BaaS アプリケーションにユーザーを追加すると、アクセスのセキュリティを確保できます。Kinvey と Parse のどちらの BaaS プロバイダを使用する場合でも、そのプロバイダが提供するバックエンド サービスの一環としてユーザーの作成や管理を行うことができます。ユーザーの新規作成は、Kinvey および Parse の Web サイトから行えますし、REST.Backend API を使ってアプリケーションから行うこともできます。
Kinvey Web サイトからユーザーを新規作成する
Kinvey のアカウントとアプリケーションを作成したら、そのアプリケーションにユーザーを追加して、アプリケーションでユーザー認証を使用してアクセスのセキュリティを確保することができます。 Kinvey Web サイトからユーザーを作成するには、コンソールを開き、ユーザーを追加するアプリケーションで[Development]をクリックします。メニューから[Users]をクリックしたあと[Add User ...]をクリックすると、ユーザーを新規作成できます。
適切な情報を入力し、[Create User]をクリックします。
Parse Web サイトからユーザーを新規作成する
Parse のアカウントとアプリケーションを作成したら、そのアプリケーションにユーザーを追加して、アプリケーションでユーザー認証を使用してアクセスのセキュリティを確保することができます。 Parse Web サイトからユーザーを作成するには、ダッシュボードを開き、ユーザーを作成するアプリケーションの[Core]をクリックします。メニューの[Data]をクリックしたあと、[Add Class]をクリックします。[Add a new class]ダイアログのドロップダウン メニューから[User]を選択し、[Create Class]をクリックします。
新しいメニュー オプション[User]が[Data]下に表示されるので、このオプションを選択し、[+ Row]で新しい行を作成し、適切な情報を入力して新規ユーザーを追加します。
REST API で Kinvey/Parse ユーザーを新規作成する
REST.Backend API を使って、Kinvey/Parse ユーザーを新規作成できます。これにより、ユーザーを新規作成するオプションをアプリケーションに組み込めるようになるため、たとえば、アプリケーションから新規ユーザーを登録できます。
アプリケーションからユーザーを新規作成するには:
- マルチデバイス アプリケーションを新規作成します。
- フォームに次のコンポーネントをドロップします。
- TEdit: Name プロパティを username に設定します。
- TEdit: Name プロパティを password に設定します。
- TLabel: Text プロパティを Username: に設定したうえで、username TEdit の隣に配置します。
- TLabel: Text プロパティを Password: に設定したうえで、password TEdit の隣に配置します。
- TLabel: Name プロパティを lastAction に、Text プロパティを No user has been created. にそれぞれ設定します。
- TButton: Text プロパティを Create User に、Name プロパティを CreateUserButton にそれぞれ設定します。
- Kinvey を BaaS プロバイダとして使用する場合は TKinveyProvider、Parse を BaaS プロバイダとして使用する場合は TParseProvider。
- TBackendUsers: 使用する BaaS プロバイダに応じて、Provider プロパティを KinveyProvider1 または ParseProvider1 に設定します。
- 使用する BaaS プロバイダに応じて、次のいずれかを行います。
- KinveyProvider1 コンポーネントを選択し、[オブジェクト インスペクタ]で、AppKey、AppSecret、MasterSecret を、Kinvey からアプリケーションに提供された値に設定します。
- ParseProvider1 コンポーネントを選択し、[オブジェクト インスペクタ]で、ApplicationID、MasterKey、RestApiKey を、Parse からアプリケーションに提供された値に設定します。
- CreateUserButton をダブルクリックし、次のコードを追加します。
Delphi の場合:
procedure TForm3.CreateUserButtonClick(Sender: TObject); var LEntity: TBackendEntityValue; begin BackendUsers1.Users.SignupUser(username.Text, password.Text, nil, LEntity); ShowMessage('New user created, with username: '+username.Text); lastAction.Text:=('Last user created: '+username.Text); end;
C++ の場合:void __fastcall TForm1::CreateUserButtonClick(TObject *Sender) { TBackendEntityValue LEntity; BackendUsers1->Users->SignupUser(username->Text, password->Text, NULL, LEntity); ShowMessage("New user created, with username: "+username->Text); lastAction->Text=("Last user created: "+username->Text); }
- プロジェクトを実行するには、F9 キーを押すか、[実行|実行]を選択します。
ユーザー セッションの管理
ログインとログアウト
Kinvey および Parse BaaS プロバイダでは、アクセスのセキュリティを確保するために、ユーザー セッションを使用してアプリケーションでユーザー認証を行うことができます。
次のサンプルでは、BaaS サービスに対してログイン/ログアウトする方法を示しています。
- マルチデバイス アプリケーションを新規作成します。
- フォームに次のコンポーネントをドロップします。
- TEdit: Name プロパティを username に設定します。
- TEdit: Name プロパティを password に設定します。
- TLabel: Text プロパティを Username: に設定したうえで、username TEdit の隣に配置します。
- TLabel: Text プロパティを Password: に設定したうえで、password TEdit の隣に配置します。
- TLabel: Name プロパティを status に、Text プロパティを Status: Not logged in. にそれぞれ設定します。
- TButton: Text プロパティを Login に、Name プロパティを LoginButton にそれぞれ設定します。
- TButton: Text プロパティを Logout に、Name プロパティを LogoutButton にそれぞれ設定します。
- Kinvey を BaaS プロバイダとして使用する場合は TKinveyProvider、Parse を BaaS プロバイダとして使用する場合は TParseProvider。
- TBackendUsers: 使用する BaaS プロバイダに応じて、Provider プロパティを KinveyProvider1 または ParseProvider1 に設定します。
- 使用する BaaS プロバイダに応じて、次のいずれかを行います。
- KinveyProvider1 コンポーネントを選択し、[オブジェクト インスペクタ]で、AppKey、AppSecret、MasterSecret を、Kinvey からアプリケーションに提供された値に設定します。
- ParseProvider1 コンポーネントを選択し、[オブジェクト インスペクタ]で、ApplicationID、MasterKey、RestApiKey を、Parse からアプリケーションに提供された値に設定します。
- LoginButton をダブルクリックし、次のコードを追加します。
Delphi の場合:
procedure TForm1.LoginButtonClick(Sender: TObject); begin var ACreatedObject: TBackendEntityValue; begin BackendUsers1.Users.LoginUser(username.Text,password.Text, ACreatedObject); ShowMessage('You are logged in.'); status.Text:=('Status: Logged in'); end;
C++ の場合:void __fastcall TForm1::LoginButtonClick(TObject *Sender) { TBackendEntityValue ACreatedObject; BackendUsers1->Users->LoginUser(username->Text, password->Text, ACreatedObject); ShowMessage("You are logged in."); status->Text=("Status: Logged in"); }
- LogoutButton をダブルクリックし、次のコードを追加します。
Delphi の場合:
procedure TForm1.LogoutButtonClick(Sender: TObject); begin BackendUsers1.Users.Logout; ShowMessage('You are logged out.'); status.Text:=('Status: Not logged in'); end;
C++ の場合:void __fastcall TForm1::LogoutButtonClick(TObject *Sender) { BackendUsers1->Users->Logout(); ShowMessage("You are logged out."); status->Text=("Status: Not logged in"); }
- プロジェクトを実行するには、F9 キーを押すか、[実行|実行]を選択します。