2

新しい ASP.NET Identity ログイン システムを試し、Google を外部ログイン プロバイダーとして追加しました。
ログインは正常に機能しますが、次のような API 呼び出しの認証トークンが見つかりません

json = new WebClient().DownloadString(" https://www.googleapis.com/plus/v1/people/me?access_token= " + accessToken);

ログイン後に返される唯一の情報は、姓、名、電子メールです。結果のどこにトークンが隠されているか教えてもらえますか?

または、「app.UseGoogleAuthentication()」が設定されている Startup.Auth.cs にオプトインを設定する必要がありますか?

4

2 に答える 2

4

私の知る限り、ASP.NET Identity の Google 認証は OpenID ベースであるため、OAuth アクセス トークンを必要とする Google+ API を呼び出すことはできません。これを行うには、OAuth に基づく ASP.NET Identity 用の Google+ 認証プロバイダーを開発する必要があります。

Twitter や Facebook などの OAuth ベースのプロバイダーの場合、http://www.beabigrockstar.com/get-the-twitter-profile-image-using-the-asp-net-identityのブログ投稿で説明したメカニズムを使用できます。 /アクセストークンを取得して保存し、それを後続の呼び出しで使用します。

更新: トークンを保存し、それを使用して OAuth 呼び出しを行う方法の例を使用して、Google+ 用の OAuth プロバイダーを開発しました。詳細については、http://www.beabigrockstar.com/google-oauth-sign-asp-net-identity/のブログ投稿を参照してください。

于 2013-11-05T17:16:32.467 に答える