1)概要:この記事で学べることこの記事では、前編・中編で登録したユーザーを使いログインの処理を行います。パスワードのチェックやユーザーの状態に応じた遷移先の設定を学べます。2)実装:ログイン機能ログインフォームのデザインと設定loginのページを新規で作成します。ページの新規作成方法についてはここでは割愛するので前編の記事を読んでください。メールアドレス、パスワードの入力フォームを配置します。Content formatはそれぞれEmail、Passwordに設定してください。その後ログインボタンをその下に配置してください。ワークフローの設定ログインのボタンをエディタでクリックし、「Add workflow」を選択します。アクションの中から「Log the user in」を選択し、Email、Passwordに入力フォームの値を設定します。以下のようにしてください。ログインの処理がOKだった場合には、ログイン後の画面に遷移する処理を実装します。ここではindex画面に遷移させようと思うのでgo to pageにindexを設定してください。エラーハンドリング想定されるエラーのケースとしては以下3つかと思います。1:メールアドレスの形式が違う2:メールアドレスが存在しない3:パスワードが違う1に関しては前編の記事でエラーメッセージの出し方を紹介しているのでそちらをご参照ください。2と3については「Log the user in」の処理の中でBubble側が勝手にチェックしてくれます。2と3のケースに関しては両方以下のメッセージが表示されます。「メールアドレスとパスワードが一致しないためログインできません」のような適切な日本語に修正する方が良いですね。修正方法が気になる方は中編の記事をみてください。なお、Bubble側が「Log the user in」のようにアクションの中でエラーチェックをしている処理に限り、エラーの場合に後続のアクション(ここではgo to page)は実行されない仕様になっています。そのためエラー時には画面は遷移しませんでした。3)応用編:ユーザーの状態に応じた画面遷移例えば同じログイン画面を利用していても管理者と一般ユーザーでは表示する画面が違うのでログイン時に振り分けたいということが実際の開発では発生することがあります。この場合もユーザー権限の項目を設定することで振り分けが可能です。ユーザー権限の作成(Option Setsに設定)ユーザー権限はText型でも設定することはできるのですが、今後の変更があった場合に備えてまとめて更新できるようにOption Setsで設定する方が良いです。Option Setsとは簡単にお伝えすると、「公開されても良い、ほとんど変更が加わらない情報」を設定する項目です。プログラミングをやっている方向けに言えば、マスタの値が近しいものになるかと思います。(詳しく知りたい方はこちらのおばとりっぷさんの記事が分かりやすいので参照してください。)左側から3番目のデータベースの項目を選択し、左から4番目のOption setsというタブをクリックします。new option setsに「ユーザー権限」と入れてCreateしてください。その後、New Optionのところに管理者、一般ユーザーをそれぞれ入力し、Createしてください。Userテーブルへの紐付けData typesでUserを表示して、新しいフィールドを設定します。ここにoption setsで設定した項目も型として設定できるため「ユーザー権限」を設定します。項目名は区別しやすいようにユーザー権限情報としておきます。登録データの設定本来であれば登録のルート等によって管理者か一般ユーザーか変わるロジックが実装されるかと思いますが、ここではあくまでログイン後の画面遷移を見るため、直接データをいじって「管理者」、「一般ユーザー」を作ります。2つのユーザー登録したうえで、App dataを選択し、All usersの各データがあるところのペンのアイコンをクリックしてください。すると下記のような形でOption setsの内容に限定した選択肢がユーザー権限情報に表示されるので、1人目は管理者、2人目は一般ユーザーとなるように選んでSaveしてください。画面振り分けワークフローの設定管理者の画面遷移ようにadminという空の画面を作ってください。その後、ログインボタンのワークフローを表示し、Only Whenに条件を入れて分岐をさせます。前の処理でログインができた状態になっているため、「Current User」を選択して、's ユーザー権限情報を選択します。is がイコールと同じなので、isを選択し、OPTIONSの項目にある一般ユーザーを選べば完了です。管理者をadmin画面へ遷移させる処理もOPTIONSと遷移先だけ変えて以下のように設定します。以上で管理者はadmin、一般ユーザーはindexに遷移します。なお、一般ユーザーが管理者(admin)のページを表示しようとした際に見られては困るケースが多いと思います。その際には、adminのページにて、イベントのPage is loaded(画面初期表示時の処理)を選択して、一般ユーザーだったらindexへ飛ばすという設定をした方が良いです。設定のご説明は以上になります。これにて後編も完了です。最後までご覧いただきありがとうございました。