私は自分のアプリケーションでLinkedinを使用して外部ログインを作成していますが、これまで対応するLinkedinアカウントでユーザーを認証できました。目的のために、Startup.Auth.cs
にNuGetパッケージKatanaContrib.Security.LinkedIn
と次のコードを使用しました。ASP.NET Web APIを使用してLinkedinから追加のプロファイルフィールドをリクエストする
app.UseLinkedInAuthentication(
apiKey: ConfigurationManager.AppSettings["LinkedInAPIKey"].ToString(),
secretKey: ConfigurationManager.AppSettings["LinkedInAPISecret"].ToString());
私は正常にユーザーを認証し、外部登録することに成功しました。しかし、私は自分のデータベースに保存するためにLinkedInから提供されたすべてのユーザー情報を取得したいと思います。私の意見では、これを行う最も良い場所はAccountController
のRegisterExternal
メソッドにあり、新しいユーザーが作成され、データベースに追加されます。しかし、そのメソッドをデバッグすると、利用可能な情報がすべてLinkedInから返されるわけではありません。
var info = await Authentication.GetExternalLoginInfoAsync();
var claims = info.ExternalIdentity.Claims;
はわずか5クレームが返されると私はLinkedIn documentation pageを読んだとき、私はそれらの基本的なプロファイルデータにcorrespoding 5件のクレームが正確であることを見ましたがあります。どうやらLinkedinの統合に使用している外部ライブラリは、基本プロファイルデータのみを要求しています。詳細情報を取得したい場合は、別のURLにリクエストする必要があります。しかし、数時間の検索の後、私は必要なデータフィールドを検索するために、そのURLを上書きする方法を見つけることができません。どのように私はこの問題に近づくことができますか考えていますか?