BaaS ユーザーの管理

提供: RAD Studio
移動先: 案内検索

BaaS の概要 への移動


このトピックの前に、必ず次のトピックに目を通しておいてください。


BaaS プロバイダ Kinvey および Parse を使って、アプリケーションにユーザー認証を追加できます。 BaaS を使用してユーザーを管理すると、以下が可能になります。

  • ユーザー: ユーザーの登録、ユーザー詳細の更新、削除、取得
  • ユーザー セッション: ログイン、ログアウト
  • ユーザー グループ/ロール: 作成、取得、更新、削除
  • (ソーシャル ネットワークなどの)他の ID を使ったユーザー認証の管理

コンポーネント

アプリケーションで次のコンポーネントを使用すると、BaaS ユーザーを管理できます。

  • TBackendUsers サービス コンポーネントにより、ユーザー アクションを実行できます。この非ビジュアル コンポーネントを使用すると、ユーザーの登録、ログイン、取得、更新、削除を行うことができます。

このサービス コンポーネント以外にも、次の BaaS プロバイダ コンポーネントのいずれか 1 つが必要です。

  • TKinveyProvider – Kinvey を BaaS プロバイダとして使用する場合に、このコンポーネントを使用します。このコンポーネントでは、クラウド サービス接続に関する情報を格納しており、Kinvey BaaS プロバイダとの接続をセットアップします。
  • TParseProvider – Parse を BaaS プロバイダとして使用する場合に、このコンポーネントを使用します。このコンポーネントでは、クラウド サービス接続に関する情報を格納しており、Parse BaaS プロバイダとの接続をセットアップします。

ユーザーの新規作成

BaaS アプリケーションにユーザーを追加すると、アクセスのセキュリティを確保できます。KinveyParse のどちらの BaaS プロバイダを使用する場合でも、そのプロバイダが提供するバックエンド サービスの一環としてユーザーの作成や管理を行うことができます。ユーザーの新規作成は、Kinvey および Parse の Web サイトから行えますし、REST.Backend API を使ってアプリケーションから行うこともできます。

Kinvey Web サイトからユーザーを新規作成する

Kinveyアカウントアプリケーションを作成したら、そのアプリケーションにユーザーを追加して、アプリケーションでユーザー認証を使用してアクセスのセキュリティを確保することができます。 Kinvey Web サイトからユーザーを作成するには、コンソールを開き、ユーザーを追加するアプリケーションで[Development]をクリックします。メニューから[Users]をクリックしたあと[Add User ...]をクリックすると、ユーザーを新規作成できます。

Kinvey CreateNewUser.png

適切な情報を入力し、[Create User]をクリックします。

Parse Web サイトからユーザーを新規作成する

Parse のアカウントアプリケーションを作成したら、そのアプリケーションにユーザーを追加して、アプリケーションでユーザー認証を使用してアクセスのセキュリティを確保することができます。 Parse Web サイトからユーザーを作成するには、ダッシュボードを開き、ユーザーを作成するアプリケーションの[Core]をクリックします。メニューの[Data]をクリックしたあと、[Add Class]をクリックします。[Add a new class]ダイアログのドロップダウン メニューから[User]を選択し、[Create Class]をクリックします。

Parse NewClassUser.png

新しいメニュー オプション[User]が[Data]下に表示されるので、このオプションを選択し、[+ Row]で新しい行を作成し、適切な情報を入力して新規ユーザーを追加します。

REST API で Kinvey/Parse ユーザーを新規作成する

REST.Backend API を使って、Kinvey/Parse ユーザーを新規作成できます。これにより、ユーザーを新規作成するオプションをアプリケーションに組み込めるようになるため、たとえば、アプリケーションから新規ユーザーを登録できます。
アプリケーションからユーザーを新規作成するには:

  1. マルチデバイス アプリケーションを新規作成します。
  2. フォームに次のコンポーネントをドロップします。
    • TEditName プロパティを username に設定します。
    • TEditName プロパティを password に設定します。
    • TLabelText プロパティを Username: に設定したうえで、username TEdit の隣に配置します。
    • TLabelText プロパティを Password: に設定したうえで、password TEdit の隣に配置します。
    • TLabelName プロパティを lastAction に、Text プロパティを No user has been created. にそれぞれ設定します。
    • TButtonText プロパティを Create User に、Name プロパティを CreateUserButton にそれぞれ設定します。
    • Kinvey を BaaS プロバイダとして使用する場合は TKinveyProviderParse を BaaS プロバイダとして使用する場合は TParseProvider
    • TBackendUsers: 使用する BaaS プロバイダに応じて、Provider プロパティを KinveyProvider1 または ParseProvider1 に設定します。
  3. 使用する BaaS プロバイダに応じて、次のいずれかを行います。
    BaaS CreateUserApp.png
  4. 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);
    }
    
  5. プロジェクトを実行するには、F9 キーを押すか、[実行|実行]を選択します。

ユーザー セッションの管理

ログインとログアウト

Kinvey および Parse BaaS プロバイダでは、アクセスのセキュリティを確保するために、ユーザー セッションを使用してアプリケーションでユーザー認証を行うことができます。
次のサンプルでは、BaaS サービスに対してログイン/ログアウトする方法を示しています。

  1. マルチデバイス アプリケーションを新規作成します。
  2. フォームに次のコンポーネントをドロップします。
    • TEditName プロパティを username に設定します。
    • TEditName プロパティを password に設定します。
    • TLabelText プロパティを Username: に設定したうえで、username TEdit の隣に配置します。
    • TLabelText プロパティを Password: に設定したうえで、password TEdit の隣に配置します。
    • TLabelName プロパティを status に、Text プロパティを Status: Not logged in. にそれぞれ設定します。
    • TButtonText プロパティを Login に、Name プロパティを LoginButton にそれぞれ設定します。
    • TButtonText プロパティを Logout に、Name プロパティを LogoutButton にそれぞれ設定します。
    • Kinvey を BaaS プロバイダとして使用する場合は TKinveyProviderParse を BaaS プロバイダとして使用する場合は TParseProvider
    • TBackendUsers: 使用する BaaS プロバイダに応じて、Provider プロパティを KinveyProvider1 または ParseProvider1 に設定します。
  3. 使用する BaaS プロバイダに応じて、次のいずれかを行います。
    BaaS LoginApp.png
  4. 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");
    }
    
  5. 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");
    }
    
  6. プロジェクトを実行するには、F9 キーを押すか、[実行|実行]を選択します。

関連項目

コード サンプル