iOS用のTCPベースのゲームサーバーを作成しています。これには登録とログインが含まれます。ユーザーはMongoDBにコレクションとして保存されます。ログインが完了すると、一意のセッションIDを生成します-どのように?
ノードサーバーに残っているすべてのデータと、dbに保存できるものを知りたいと思いました。セッショントークンなどのデータ、または永続的な接続を維持している場合はソケットのコレクションなど。
Node.JSには、デフォルトではセッションがありません。実際、MongoDBとのセッションを管理するためのプラグインがあります。
ただし、本当にセッションが必要かどうかは明らかではありません。socket.ioで直接ソケットを開いている場合、それは事実上のセッションです。
Node.js自体はセッションを管理しません。ソケット通信用の基盤となるUNIX機能にAPIを公開するだけです。HTTP自体はステートレスプロトコルであり、セッションもありません。一方、SSHはステートフルなプロトコルですが、どちらもあなたにとって良いとは思いません。
一意のIDの作成は非常に簡単です。必要なのは、ユーザーに関するデータをハッシュすることだけです。彼らのSHA(IP address + time + username)
。参照: http: //nodejs.org/api/crypto.html
多くのアプリケーションが採用するアプローチの1つは、独自のプロトコルを作成し、それを使用してメッセージを送信することです。それで多くのケースを処理する必要があります。そして私自身、デスクトップでは大きな問題ではない深刻な接続の課題とキャッシュ要件があるモバイルを扱ったことがありません。
これらの問題を解決するために、Scribdの創設者はParseという会社を立ち上げました。これにより、作業がはるかに簡単になります。彼らのウェブサイトを見てください:https ://parse.com/ 。
ただし、認証を行いたい場合は、Everyauthを参照してください。これにより、多くの認証が提供されます。ここで見つけることができます:https ://github.com/bnoguchi/everyauth/ 。