OpenID と OAuth という用語を誤用したり混同したりした場合は、申し訳ありませんが、この分散型ログイン プロセス全体についてはまだ初心者です。
私は自分のサイト (WebMatrix に組み込まれている) に Google ログインを認識させるために何日も試みてきました。_AppStart.cshtml
問題は、ファイルに次のコード行が必要なことです(私が調査したものから) :
OAuthWebSecurity.RegisterGoogleClient();
しかし、このステートメントが配置された後にこのサイトを実行しようとするとOAuthWebSecurity.RegisterGoogleClient();
、現在のコンテキストに存在しないことを示すサーバー エラーが表示されます。
OAuth ライブラリ、別のヘルパー、またはその他のパッケージが必要かもしれないと思ったのですが、表示される唯一の関連パッケージ ( Microsoft WebPages OAuth ライブラリ 2.0.20710.0 ) を取得できません。WebMatrix が NuGet のバージョンをサポートしていないためです。 (2.0)が必要だと言っています。
これまでログインにこの方法を使用したことがないため、クライアント向けにこの機能を構築する際に、その方法を学びたいと思っています。やりたくないことは、スターター テンプレートを開いてファイルをコピーすることです。理解できないコードの使用に問題があります。これは私にとってひどい習慣になると思います (jQuery プラグインを使用する前に、自分自身を納得させるのに少し時間がかかりました)。また、このログインに他のサードパーティのサービスを使用しないことにも言及する必要があります. 従業員の会社の電子メール アカウントに gmail を使用しているため、このソリューションには Google ログインのみが必要です。
私が試したこと:
- 私のような他のシナリオのグーグル。関連する検索結果が見つからないため失敗します (つまり、シナリオに一致する結果を見つけることができません)。
- 以前のバージョンのMicrosoft WebPages 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 ベースの欠落ファイルをコピーします。行動の変化が観察されなかったという点で失敗します。
-----------------------------------------更新-------- --------------------------------
これまでのところ、この問題に対する最善の解決策は、少なくとも私にとっては、好むと好まざるとにかかわらず、WebMatrix の「スターター サイト」テンプレートを使用することでした。
OAuthWebSecurity()
ただし、これを行う上での最大の懸念の 1 つは、不要なファイルが非常に多く、クラスを完全にアクセス可能で機能的な状態に保ちながら、サイトをクリーンに保つために削除できるファイルと削除できないファイルが多すぎることでした。ただし、ファイルを移動する前に、「スターター サイト」テンプレートから「bin」フォルダーと「App_Data」フォルダー (もちろんすべてのコンテンツを含む) のみを保持し、他のすべて (web.config ファイルを含む) を削除しました。これまでのところ、これは私にとって非常にうまく機能しているようです。
上記の手順を使用して、OAuthWebSecurity()
クラスへのアクセスを維持しながら、サイトから不要なコードを削除しました。
将来 (WebMatrix 3 がリリースされたときを想像します)、このバグはおそらく修正され、OAuth ライブラリの単純な管理サイト インストールでは、WebMatrix がサポートしていないバージョンの NuGet は必要ありませんが、それまではこれが最善でした。私に答えてください。