2013-10-21 9 views
13

ASP.NET MVC 5(以前はDotNetOpenAuthを使用していました)で新しい認証機能を使いました。ASP.NET MVC 5の "汎用" OpenID

私は組み込みのGoogleプロバイダがOpenID [1]を使用していることを理解していますが、正常に動作しますが、認証時に自分のOpenIDプロバイダを使用したいと考えています。

残念ながら、私はASP.NET MVC 5のすぐに使用できる機能でこれを達成するための簡単な方法を見つけることができませんでした。私はMicrosoft.Owin.Security.Googleのソースを見て、これに基づいてかなり可能です新しいOpenIDプロバイダを追加します。

ASP.NET MVC 5アプリケーションに新しいOpenIDプロバイダを追加する方が簡単でしょうか?あるいは、私は最初から新しいOwinミドルウェアを書く必要がありますか?

[1] http://www.asp.net/mvc/tutorials/mvc-5/create-an-aspnet-mvc-5-app-with-facebook-and-google-oauth2-and-openid-sign-on
[2] http://www.symbolsource.org/MyGet/Metadata/aspnetwebstacknightly/Project/Microsoft.Owin.Security.Google/2.0.1-rtw1-20924-641-dev/Release/.NETFramework,Version=v4.5/Microsoft.Owin.Security.Google

答えて

5

私が同じ状況にいると私は答えがあると思い、 "いいえ。"

キークラスは、OWINバックエンドハンドラを実装するMicrosoft.Owin.Security.Google.GoogleAuthenticationHandlerです。 ApplyResponseChallengeAsyncでAttribute eXchangeリクエストをハードコーディングするだけでなく、AuthenticateCoreAsyncでhttps://www.google.com/accounts/o8/udにコールをコーディングするのは難しいです。より良い方法(OpenID基底クラス)があれば、私はこれらの2つの場所をハードコーディングする代わりに確かに使用したと仮定しています。私はマイクロソフトがスケジュールの理由や需要の不足のためにそれを一般的にしなかったと仮定しています。

私はオープンソースの汎用OpenID OWINミドルウェアは素晴らしいNuGetパッケージだと思います。

+0

ありがとうございました。私は怠け者で、今後数週間DotNetOpenAuthに固執するでしょう。それまで誰かがOpenIdミドルウェアを構築しているのでしょうか?) –

+0

https://www.googleを変更してYahooの仕事にGoogleコードを手に入れることに成功しました。 com/accounts/o8/udからhttps://open.login.yahooapis.com/openid/op/authにアクセスしてください。私はDotNetOpenAuthがそのアカウントに対して与えていたのと同じ主張された識別子を持っているので、コードが一般化しているようです。私はDNOOのように提供者が何を提供するかによって、属性交換プロセスを一般化するのは挑戦的な唯一の方法だと思います。 –