2016-08-18 9 views
0

私はフォーム認証で既存のasp.net Webサイトを使用しています。私たちはサードパーティのサービスをシングルサインオンと統合することに関心がありますが、リンクにアクセスする際にユーザーが自分のサイトにログインしないようにしています。既存のasp.netプロジェクトにOAuth 2プロトコルを実装し、サードパーティの統合用

私たちはこれにOAuth 2標準を使用しようとしていますが、その経験はありませんから、その流れをはっきりと理解することはできません。

ユーザーの代わりに外部のWebサイトとトランザクションを行う必要があるため、ユーザーを特定し、当社のWebサイトで認証されていることを確認する方法を提供する必要があります。

これまでのところ、私は第三者がアクセスできるWeb APIを作成しました。私はOwinとアイデンティティを実装することができました。ユーザが自分のサイトにログインしていて、他の人にアクセスしたいときに、あなたのユーザIDを(ClaimsIdentityで)保持してサードパーティに送信するために生成されるベアラトークンを使用したいアプリケーションであるため、ユーザーは誰であるか、ユーザーが認証されているかどうかを知ることができます。これが良いアプローチであるかどうかはわかりません。どんな助けも与えられるでしょう

答えて

0

それは非常に広い話題であり、広い質問です。

私はDotNetOpenAuth libraryで始まることをお勧めします。認可フローについては、Oauth2 RFCとベストプラクティスの推奨事項などで説明されています。ユーザーが外部Webサイトを使用してサインインし、その資格情報でWebサイトにログインするようにするには、「4.1。認可コード許可」が必要です。

+0

いいえ、私は外部のウェブサイトを使用してサインインすることを望んでいません。私は自分のウェブサイトにサインインし、そこにサインインする必要なしに他のウェブサイトにアクセスしたいと思います(私たちは、それにアクセスしているユーザーを認証します)。また、ユーザーに識別させるための情報を提供する必要があります。認可サーバーを構築する必要がありますか? – lory123

+0

入手しました。はい、認可サーバーを構築する必要があります。あなたは確かにDotNetOpenAuthでこれを行うことができます。私は私が働いている会社のためにこれをしました – dlxeon

+0

あなたは私に良いチュートリアルをお勧めしますか?私は既存のウェブサイトの上にDotNetOpenAuthを構築するのか、あるいは認証サーバーとしてWeb Apiを作成するべきですか? – lory123

0

Taiseer JoudehのOAuthに関するチュートリアルを見ることから始めることをお勧めします。これらは優れており、コミュニティによって十分サポートされています。

http://bitoftech.net/2014/06/01/token-based-authentication-asp-net-web-api-2-owin-asp-net-identity/

これは、あなたのOAuthがWeb APIを2とOwinミドルウェアでどのように扱われるかについての明確なビジョンを提供します。

Asp.Net Coreプロジェクトで作業している場合は、oAuth + Aurelia + signalRを使用してスターターキットとして使用できるgithubプロジェクトがあります。このことができますどのように

https://github.com/alexandre-spieser/AureliaAspNetCoreAuth

。ここで

0

はOAuthのた​​めに開始するためのリンクです:

https://app.pluralsight.com/library/courses/oauth2-json-web-tokens-openid-connect-introduction/table-of-contents

そして、この1:

http://app.pluralsight.com/courses/oauth2-openid-connect-angular-aspdotnet

これらのコースはSingleSignでは、アイデンティティ・サーバーの設定にご案内します、 JWT認証、WSフェデレーション、およびアプリケーション用の第三者アイデンティティ・サーバーの使用も含まれます。

関連する問題