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 ライブラリによってヘッダーが正しく形成されていない可能性がありますか?