4

asp.net mvc 4 に付属するデフォルトの OAuth 実装を調べています。AuthConfig.cs に次の行を追加するだけでよかったので、これは間違いなく印象的です。

OAuthWebSecurity.RegisterLinkedInClient("_key_", "_secret_");

上記を有効にすると、ログインするための LinkedIn リンクが提供されました。一度パスワードの入力を求められましたが、入力した後、次のようになりました。

「ログインに失敗しました。サービスへのログインに失敗しました。」

、それ以来、パスワードの入力を求められることなく、これを取得しています。

これが最初に入力した資格情報が間違っているためなのか、それともキーの設定方法に問題があるためなのかはわかりません。

また、アプリ内のどこにも実際のコントローラーコードが表示されないため、ログインが機能したとしても、リンク先から情報を取得する方法が明確ではありません..履歴.

この統合がいかに簡単であったかは素晴らしいことですが、私はこれをより手動で実装することに傾いていますか?

ただし、上記の実装もおそらく機能するのではないかと思わずにはいられません。

アップデート

私は問題をこの呼び出しであると追跡しました:

public ActionResult ExternalLogin(string provider, string returnUrl) {
    return new ExternalLoginResult(provider, Url.Action("ExternalLoginCallback", new { ReturnUrl = returnUrl }));
}

資格情報が正しい場合でも、コールバックは「401 Unauthorized」で返されます。他の投稿で収集できるものから、これは OAuth ライブラリによってヘッダーが正しく形成されていない可能性がありますか?

4

4 に答える 4

7

私は同じ問題を抱えていましたが、これはバグのようです。

この投稿に対する "Paul Roa" のコメントを参照してください。

http://blogs.msdn.com/b/webdev/archive/2012/08/15/oauth-openid-support-for-webforms-mvc-and-webpages.aspx?PageIndex=2

そして彼の解決策(私にとってはうまくいく)、ここ:

http://blog.mrroa.com/post/30454808112/asp-net-custom-linkedin-oauth-provider

于 2012-10-10T18:40:01.027 に答える
2

私も同じ問題を抱えていました。

NuGetを使用してすべてのOAuthパッケージを更新しましたが、すべて正常に動作するようになりました。

于 2013-01-08T21:51:34.923 に答える
1

悪いクレデンシャルのように聞こえますが、それは私にとってはうまくいきました。残念ながら、テンプレートではパスワードの変更やアカウントの削除は許可されていませんが、LinkedIn接続を削除してから、LinkedInログインから新しいアカウントを作成して再試行することができます。

彼らが使用し、それを拡張する実装に関しては、私はまだそれを調査することに慣れていません。見た目が良ければ使うことも考えているので、そうするつもりです。

于 2012-10-07T19:09:06.970 に答える