クライアント プロジェクトの場合、非常に単純な機能を提供する単純なハイブリッド アプリを作成していますが、トラフィックが多くなります。アプリは非常にシンプルで、firebase はプロジェクトにとって完璧なソリューションのように見えるため、通常はバックエンドは必要ありません。
私が立ち往生している唯一の部分は、FirebaseによるSMS検証/認証です。ただし、いくつかの激しいグーグル検索とドキュメントの読み取りの後、これを行う簡単な方法がないことに気付きました。これまでに調べたことは次のとおりです。
- Fabric.io Digits には優れた JS API がありますが、何らかの理由で firebase と数字がうまく連携しません: https://groups.google.com/forum/#!topic/firebase-talk/sB7lPuyCVBQ
- Facebook アカウント キット- ほんの 1 週間前、Facebook は SMS 検証と認証用の新しいキットをリリースしましたが、少なくとも別の方法で証明されるまでは、fabric.io 数字と同じ問題があるように感じられます。
- NodeJS 経由の Twilio / Nexmo - これらは両方とも優れた JS API を備えた壮大なサービスですが、私が理解していることから、これには JWT トークン交換を処理するための別のバックエンド サーバーが必要です。そして、それ自体が別のサーバーであり、トラフィックが多いときにボトルネックになり、セキュリティの別の脆弱性ポイントになるため、クライアント チームは個別に管理する必要があります。最も快適ではありません。
- Twilio / Nexmo & Auth0 - これまでのところ、認証とユーザー管理が Auth0 によって処理されるこれが最良のオプションのように思えますが、twilio または nexmo と auth0 の両方が有料ソリューションであることを考えると、このソリューションはすぐに高価になる可能性があります。私は物事が無料で機能することを安っぽく期待しているわけではありませんが、トークンを転送するだけであることを考えると、非常に高価な追加のステップのように感じます. [参照: 地獄からのクライアント]
- 123-456-7890@example.com のように、電話番号を firebase のメールとして使用し、SMS で送信されたセキュリティ コードをパスワードとして使用するなどの提案をどこかで読んだことを覚えています。
通常、ハイブリッド モバイル アプリの場合、非ネイティブな性質または JS API が原因ですが、初めて (少なくとも私にとっては) そうではないと感じました。現時点では、Firebase は有効な選択肢ではないと思いますが、AWS を調べ始め、クライアントのバックエンド全体をセットアップする前に、愛情と思いやりのあるコミュニティのメンバーに最後にもう一度尋ねたかったのです。
このタイプの認証をミドルサービスなし/バックエンドサーバーなしで処理する他の方法はありますか? これらのソリューションを使用した経験がある人はいますか?
更新: 2017 年 5 月
電話の確認と認証が、Firebase でネイティブに利用できるようになりました。以下の私の自己投稿の回答を参照してください。
更新:2017年4月
Firebase はCloud Functionsをネイティブにサポートするようになりました。サーバーをセットアップせずに、Cloud Functions を使用してこれを実現し、さらに多くのことを実現できるようになりました。
更新:2017年10月
Fabric.io と Firebase は、Firebase の電話認証で Digits を連携および統合し、Fabric の追加機能をリリースしました。