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)は、カスタマイズすることが可能です。 デベロッパーコンソールの「テナント設定」⇒「テンプレート」でテンプレートを編集できます。