2013-03-28 10 views
6

私がOpenIDとOAuthの用語を誤って使用したり、混乱させてしまった場合、私は謝罪しています。WebMatrixサイトでOpenID/OAuthを使用するにはどうすればよいですか?

Googleのログインを認識するために私のサイト(WebMatrixで構築されたサイト)を取得しようとしています。

OAuthWebSecurity.RegisterGoogleClient(); 

しかし、私はこの文が配置された後に、このサイトを実行しようとすると、私は単純にサーバーエラーを取得する:問題は、私は私の_AppStart.cshtmlファイルに(私が研究してきたものから)のコード行が必要ですOAuthWebSecurity.RegisterGoogleClient();が現在のコンテキストに存在しないことを示します。

WebMatrixのは「doesnのため、私は、私は得ることができない私はOAuthのライブラリ、異なるヘルパー、または他のいくつかのパッケージが、私は(マイクロソフトウェブページのOAuthライブラリ2.0.20710.0)を参照してくださいだけで、関連するパッケージを必要とするかもしれないと思いましたNuGetのバージョンをサポートしています(2.0)が必要です。

これまでにこの方法をログインしたことはありませんでした。クライアントのためにこの機能を構築する方法を学びたいと思います。私がを使わない場合はスターターテンプレートを開き、ファイルをコピーします。私は理解していないコードを使って問題があります。私はこれが私にとっては大変な習慣になると感じています(jQueryプラグインを使用する前に自分自身を説得していました)。このログインに他のサードパーティのサービスを使用しないことに言及している場合もあります。従業員の会社のメールアカウントにはGmailを使用していますので、このソリューションのGoogleログインのみが必要です。

物事は私が試してみました:

  • 私のような他のシナリオのためにグーグル。該当する検索結果が見つからなかったため、マイクロソフトウェブページのOAuthライブラリの以前のバージョン2.0.20710.0パッケージを検索する(つまり、私は私のシナリオと一致する結果を見つけることができません)
  • 失敗します。 検索でそのようなパッケージが返されないために失敗します。 OAuthWebSecurity.RegisterOpenIDClient(BuiltInOpenIDClient.Google);代わりのOAuthWebSecurity.RegisterGoogleClient();を使用して
  • OAuthWebSecurity.RegisterGoogleClient();
  • 客員サイト管理を使用してOAuthのライブラリをダウンロードするときと同じ理由で失敗しました。 NuGetは
  • 更新Nuget があるため、ここで言及されているものの失敗の更新を必要とするため は失敗する(どうやら、WebMatrixのための既知のバグ):http://forums.asp.net/t/1836913.aspx/1?Error+updating+DotNetOpenAuth+updates+with+NuGet+Gallery
  • オープニングアップすでにのOAuthを内蔵しているスターターサイトのテンプレートを、機能的です。 サードパーティ製のソフトウェアのパッカケージ、アップデート、および/またはバージョンが異なる可能性があることを明確に伝える方法がないため、このサイトがOAuthWebSecurity.RegisterGoogleClient()を認識する理由を教えられません。
  • *「App_Data」*と「bin」フォルダから、新しいスターターサイトを作成し、OAuthベースの欠落ファイルをコピーします。 動作に変化が見られないという点では失敗します。

----------------------------------------- UPDATE ----------------------------------------

これまでのところ少なくともこの問題の最良の解決策は、私が好きか否かにかかわらず、WebMatrixの "Starter Site"テンプレートを使用することだけでした。

しかし、私が一番心配していたのは、余分なファイルがたくさんあったため、サイトをきれいに保つために削除できなかったことがわかりませんでしたが、OAuthWebSecurity()クラスは完全にアクセス可能です機能的です。私は、 "Starter Site"テンプレートから "bin"と "App_Data"フォルダ(もちろんその内容すべてを含む)だけを保持し、ファイルを移動する前に他のもの(web.configファイルを含む)これはこれまで私にとって非常にうまくいくように見えました。

上記の手順を使用して、OAuthWebSecurity()クラスにアクセスしながら、不要なコードをサイトから削除しました。

将来的には(WebMatrix 3がリリースされたと思います)、このバグは修正されるでしょうし、OAuthライブラリの簡単な管理者サイトインストールではWebMatrixがサポートしていないNuGetのバージョンは必要ありませんが、私にとっては最高の答えでした。

+0

優秀な質問です。申し訳ありませんが私はアイデアがありません。 – Knox

+0

@Knoxありがとう、サー – VoidKing

答えて

2

これがありますか?GitHub project help : WorldDomination.Web.Authentication ??

enter image description here

もそれはあなたの空想を取る場合は、いくつかの自動配線を行いMVCNancyFX nugetパッケージがあります。

免責事項:これは決してWebmatrixで試したことがありません。それは、まだ動作するかもしれないと言った! :)

+0

助けてくれてありがとう、しかし私は正直になるつもりです。私はこれで何をすべきか分かりません。私はそのコマンドを* anything *に入力してenterを押すと、宇宙自体が崩壊すると思います。 – VoidKing

+0

私は冗談を言っていますが、私は本当にそのようなコマンドを受け入れるWebMatrixインターフェイスを考えることはできません。また、WebMatrixの環境外のソリューションは、WebMatrixの環境内で動作することはほとんどありません。私は前にこのように不可逆的に物を壊してしまった。 – VoidKing

+0

この回答はまだ私の問題を解決するものではありませんが、私はこれを+1しなければならないと思います。 – VoidKing

1

あなたは次のパッケージを試しましたか? Microsoft.AspNet.WebPages.OAuthパッケージをインストールし

PM> Install-Package Microsoft.AspNet.WebPages.OAuth 
+0

これは私のために働いた.net 4.5.2 –

-1

パッケージマネージャコンソールまたはGUIパッケージマネージャを使用してインストールできます。

関連する問題