2016-04-18 15 views
3

Angular2をフロントエンドに、新しいASPNET 5 WebApiをバックエンドとして使用してアプリケーションを作成したいが、認証/私はすべての読書にもかかわらず、ポイントを完全に失っていると感じています...Javascript SPA、Hello.jsソーシャルログインでユーザーを認証し、ASPNET5からトークンを検証するC#WebApi backend

理想的には、私はHello.jsを使用してGoogleやFacebookなどのアイデンティティプロバイダを使用してユーザーを認証したいと思います。ユーザーのためにあらゆる種類のローカル登録があります。そして、私はまた、ASPNET 5 WebApiバックエンドを使用して自分のデータベースにアクセスしたいと思います。

この記事は、私が欲しいものを正確に説明するが、ないASPNET 5 WEBAPIバックエンドで:アイデンティティプロバイダ、SPAからのアクセストークンを受け取った後 :https://ole.michelsen.dk/blog/social-signin-spa-jwt-server.html

私は、プロセスの権利を理解していませんそれを検証のためにバックエンドに送信/転送する必要があります。 WebApiバックエンドはプロバイダに対して(少なくとも最初に)それを検証し、SPAに送信する独自​​のトークン(JWT)を作成する必要があります。 SPAはそれを単に格納します(ローカルストアまたはセッションストア)。その結果、ユーザーは自分のアプリケーションにログインします。

これは間違いありませんか?私は実現したいことが可能ですか?

私はOpenIddict、IdentityServer3/4などの他のオプションを検討しましたが、理解していれば、それらを使用して独自のアイデンティティプロバイダを作成していて、本当に必要なものではありません。私は誤解していますか?

ありがとうございました。

答えて

3

限り私は理解して、あなたがしたい:Web用JWTトークンを使用してGoogleと

  • 認証(あなたがGoogleのリソースを使用するためのGoogleのアクセストークンを使用したくない)

  • 認証APIバックエンド。

したがって、jwtトークンを作成するには、Identity Server3/4、OpenIddictまたは独自の実装が必要です。良い答え(特に@ツェンの答え)と同様のquestionがあります。クライアント側(angular2)にJWTトークンを管理するための

、以下のリンクを参照してください。

https://auth0.com/blog/2015/11/10/introducing-angular2-jwt-a-library-for-angular2-authentication/

https://damienbod.com/2016/03/02/angular2-openid-connect-implicit-flow-with-identityserver4/

+1

JWTを作成するためにOpenIddictまたはIdentityServer3/4が必要なのはなぜですか?プレーンなC#でMicrosoft JSON Webトークンハンドラを使用してトークンを作成する例がいくつかありますか? – Seb

+0

もちろん、独自の実装を使用することができます。これを選択した場合は、独自の認証を作成する理由の詳細については、http://stackoverflow.com/questions/30546542/token-based-authentication-in-asp-net-5-vnext-refreshed –

+0

@Sebをご覧ください。サードパーティのアクセストークンを直接受け入れる代わりに(例えば、g Facebookのトークン)は通常お勧めです、あなたはこの他のSOスレッドを読むことができます:http://stackoverflow.com/a/33148160/542757。 – Pinpoint

0

ここに簡単な答えがあります。使用するhttps://auth0.com/それは小規模で無料であり、すべての詳細があなたのために処理されます。良いサンプルと良いオープンソースの参加者。所属していない、ただのファン。

+1

おかげで、私はあまりにもAuth0で演奏し、Angular2アプリに認証を追加することができました私は本当に依存関係を学習の練習として外部サービスに限定しようとしています:) – Seb

関連する問題