3

かなり道に迷ったので道順が必要です。私は WinForms で非常に小さなアプリに取り組んでおり、Google API を使用しています。ユーザーデータにアクセスするには、彼のユーザー名とパスワードを取得する必要があります。この部分まではすべて機能しますが、ユーザーを保存する機能がありません。

今、私は毎回ユーザーの名前とパスワードを尋ねたくないので、それを行う安全な方法を見つけようとしています.

この情報をどこに入力すればよいかについて質問したところ、ユーザー名とパスワードを保存するのは得策ではなく、代わりに Google OAuth 2.0 を使用する必要があるという回答がありました。

しかし、私の問題は、Google OAuth 2.0 に Web ブラウザーを使用する必要があることです。これを WinForm アプリに実装する方法がわかりません。

私の質問:

  1. Web ブラウザーからアプリにデータを取得することはできますか?
  2. ユーザーデータを取得する別の方法を探す必要がありますか? (どんな提案でも素晴らしいでしょう)。
4

3 に答える 3

2

知っておくべき 2 つの最も重要な情報は、クライアント ライブラリを使用して作業を行う必要があることと、「インストール済みアプリケーション」フロー/クライアント タイプを使用する必要があることです。

こちらのチュートリアルを使用して、インストールされたアプリケーションを使用する手順を説明します: https://code.google.com/p/google-api-dotnet-client/wiki/GettingStarted

ユーザーから資格情報を取得するには、Web ブラウザーを使用する必要がありますが、これを行うと、再度プロンプトを表示することなく、それらの資格情報 (更新トークン) を再利用できるはずです。ライブラリを使用すると、これらの資格情報をブラウザーからアプリに簡単に移動できます。

于 2013-01-05T02:18:09.430 に答える
0

ブラウザ以外のアプリケーションで OAuth2 を実行することを「2-legged OAuth2」と呼びます。

サーバー側の 3-legged OAuth2 はブラウザー認証用です。次の手順で構成されます。

  1. アプリケーションが Web アプリに移動します
  2. Web アプリは、正しい get パラメーターを使用して Google の OAuth2 エンドポイントにリダイレクトします
  3. Google がユーザーを認証し、ユーザー トークンを使用してブラウザーを Web アプリにリダイレクトします。
  4. ウェブアプリはトークンを使用して Google サービスに接続します

クライアント側の 2-legged OAuth2 は、WebBrowserアプリケーションでコントロールをホストし、3-legged 認証の手順 2 から 3に従って構成されます。

  1. Web ブラウザー コントロールは、Web アプリが認証されるふりをして、Google の OAuth2 エンドポイントに移動します。
  2. Web ブラウザー コントロールにより、ユーザーは認証され、Web アプリにリダイレクトされます。
  3. ただし、実際には Web アプリさえありません。アプリケーションにリダイレクトするredirect際に、Web ブラウザー コントロールのイベントをキャッチし、認証トークンを抽出します。

ユーザー トークンがあれば、winforms アプリはユーザーに代わって Google サービスに接続します。

于 2013-01-04T14:26:14.367 に答える
0

つまり、クライアント ライブラリの OAuth 2.0 に注目する必要があります。

したがって、ドキュメントには、処理する必要がある非常に優れた説明とサンプルが含まれています。

一部のサービスは認証をまったく必要としないか、開発者キーのみを使用しますが、ほとんどのサービスは一部のユーザー データへのアクセスを必要とします。ユーザー データへのアクセスに使用される認証モデルは OAuth2.0 です。

ソースのリファレンス - google-api-dotnet-client OAuth2.0

于 2013-01-04T14:28:10.790 に答える