3. ローカル認証

3.1. 概要

ローカル認証はモバイルバックエンド基盤の保持するユーザデータベースを用いてログイン認証を行う方式です。

ローカル認証では、ユーザのサインアップ、ログイン、ログアウト、情報取得、更新、削除、パスワードリセットの機能を提供します。

3.2. ユーザの識別

ローカル認証では、ユーザの識別に「ユーザ名」または「E-mailアドレス」のいずれかまたは両方を使用します。 また、認証ではパスワードを用います。

内部ではそれぞれのユーザに自動的にユニークな「ユーザID」が割り当てられます。 ユーザIDは "54d47018aea788df195e8666" のような24文字の文字列です。

3.3. サインアップ

サインアップ API を用いて、ユーザの登録を行うことができます。登録には上記の 「ユーザ名」「E-mailアドレス」のいずれかまたは両方と、「パスワード」を指定して行います。

3.4. 認証方式

認証方式には、REST API によるログイン認証と、Basic認証があります。

3.4.1. APIログイン認証

APIログイン認証では、ログインAPIを使用呼び出して認証を行います。 認証時に ID(ユーザ名または E-mailアドレス)とパスワードをサーバに提示します。

認証が完了すると、BaaSサーバは「セッショントークン」という文字列が払い出されます。 クライアントは以後の API 呼び出しで X-Session-Token HTTP ヘッダにセッショントークンを指定することで API を利用することができます。

3.4.2. Basic認証

Basic 認証を使用する場合は、各 API の呼び出し時に毎回IDとパスワードをサーバに提示します。

具体的には、Authorization HTTP ヘッダにユーザ名とパスワードを指定して API を呼び出します。 (E-mailアドレスは使用できません)

Authorization: Basic ["ユーザ名:パスワード"をBase64エンコードした文字列]

注意

Basic認証は、性質上API呼び出しのたびにパスワード照合(ストレッチング付きのパスワードハッシュ計算を含む) を行うため、APIログイン認証に比べて性能が低下します。(毎回数百ms程度の遅延が発生する場合があります)

3.5. パスワードリセット

パスワードリセット API を用いてパスワードリセットを行うことができます。

パスワードリセットを行うと、該当ユーザにパスワードリセット確認の E-mail が送付されます。 メール上の URL をクリックするとブラウザでパスワードリセット画面が表示され、リセット操作を行うことができます。

メール文面やリセット画面(HTML)は、カスタマイズすることが可能です。 デベロッパーコンソールの「テナント設定」⇒「テンプレート」でテンプレートを編集できます。