2016-09-29 9 views
0

私は過去に、クライアント側の$ window.sessionStorageにユーザートークンを格納する手回しアプリを実行しました。ユーザー認証 - oAuth質問

私はそれ以来、これは安全ではないことを認識しています。私は今、私が作るノード/エクスプレスバックエンドAPIを使用するアプリケーションを保護する最も安全で標準的な方法を探しています。また、Web用の角度やネイティブモバイルアプリなどのこのAPIにリクエストを行うフロントエンドを使用します。さらに、ブラウザを終了するたびに、$ウィンドウのセッションストレージが消去されたため、再ログインする必要がありました。

私がこれまで研究してきたことから、あなたがハンドリングしようとしている場合に最も安全な方法の1つは、HTTPのみの安全なクッキーにjwtを格納することです。

しかし、私はoAuthのような既に存在するサービスを使いたいと思っています。カップルの質問:


1)oAuthはあなたのユーザーベースのオーナーシップを維持するうえでどれくらい安全ですか?今から3年後には、急に急に、またはゆっくりと消えてしまいますか?すべてのユーザーが技術的にサーバーに保存されているわけではありませんか?ユーザーを自分のアプリにネイティブに保つにはどうすればよいですか?

2)私がsnapchat、twitter、tumblrなどと同じ分野でスタートアップアプリケーションを作成しようとしている場合は、oAuthのようなサービスを使用して認証を処理することをお勧めしますか?もちろん、将来は不明ですが、私のアプリが何百万人ものユーザーに届くと仮定した場合、oAuthのようなサービスを使用するのは賢明な選択ですか? oAuthを使い始めると、1年か2年で自分のデータベースにユーザーを格納することになることはありません。

ありがとう

+0

勧告はSOに*明示的に*オフトピックです。 – jonrsharpe

+0

何についてお勧めしますか? –

+0

すべて、認証プロトコルとサービスが含まれています。 – jonrsharpe

答えて

0

OAuthは認可のためのオープンスタンダードです。

多分あなたはAuth0について考えているでしょう。 Auth0、Stormpath、Apigee、UserApp、AuthRocket、Amazon Cognitoなど、ユーザー認証を処理できるサービスがたくさんあります。どちらを選択する場合でも、サービスの使用を中止したい場合は、データベースを取得することができます。すべての人が明示的にそれらを残すための簡単な方法を提供しているわけではありませんが、それがあなたのために重要であるなら、誰があなたのニーズに合っているか、誰がそうでないかを確認し、

OAuthについては、https://en.wikipedia.org/wiki/OAuthの記事を参照してください。 ウィキペディアには巨大なlist of OAuth providersがありますが、Twitter、Google、Facebookなどのサービスです。ある方法では、これらのサービスの1つを使ってすべてのログインを管理することができますが、あなたを自分の競争相手と見なすと直ちに問題になります。私はそのような話を聞いたことがあります。

テーマに関するいくつかの興味深い読み取り:

+0

RSP ...応答に感謝します。OAuthはあなたのためにjwtを処理しますか?私は基本的には、ユーザーのモデルを設定して、正しい資格情報でログインするときにjwtが設定され、ユーザーがブラウザを閉じても、明示的にサインアウトするまで許可されるようにします。ありがとう。 –

+0

@タイラーOAuthはJWTを処理しません。 JWTはOAuthワーキンググループの仕事であるRFC 7519に記述されているJSONウェブトークンです。一部の認証プロバイダは、JWTを明示的にサポートしています。 Auth0 - https://auth0.com/docs/jwtを参照してください。 - プロバイダの中にはそれ自体をサポートしていないものもあります。 ApigeeはOAuthを使用していますが、https://community.apigee.com/questions/9860/support-for-jwt-token.htmlを参照してください。あなたは、私が書いたサービスJWTをサポートしています。 – rsp

+0

あなたが書いたすべてのサービスを調査します。ありがとうございます。 PassportJSはどうですか?私は言及していませんでしたが、私はあなたが提供したそれらの記事のため、この特定のケースでは、oAuthから遠ざかるようになり始めています。 –