問題タブ [oauth2client]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1096 参照

python - Google API を使用したオフライン リフレッシュ トークン

Google アナリティクス API を使用しようとしていますが、ユーザーがオフラインのときにアクセスできます。最初に oauth2decorator_from_clientsecrets を使用して資格情報を取得します (デフォルトではオフライン アクセスを要求する必要があります)。予想どおり、トークンの有効期限が切れる 1 時間前に API にアクセスできます。この後、次のエラーが発生します。

"AccessTokenRefreshError: 無効な許可"

次のコードを使用して、保存された資格情報で API にアクセスしています。

これは、最初のオフライン アクセス許可を適切に取得できなかったことと関係があると思われます。ユーザーが最初に認証 URL に誘導されたとき、期待される確認が表示されません。

「アプリケーションを使用していないときにこれらの操作を実行してください」

代わりに、私が見るものは次のとおりです。

確認URL

また、アプリケーションに「Web アプリケーションのクライアント ID」を使用しています。

乾杯!

0 投票する
2 に答える
195 参照

python - gflags 'positional_parameters_enforcement' フラグを設定する方法

oauth2 モジュールに対してプログラムでこれをどのように設定するのですか? 次のことを試しましたが、重要なエラーが発生します。

0 投票する
2 に答える
621 参照

oauth-2.0 - Oauth2 はリソース所有者をどのように保護していますか?

ここ数時間、Oauth2 プロトコルについて読んでいました。私の理解では、このプロトコルの主な動機は、リソース所有者が資格情報をサード パーティ (クライアント) アプリケーションと共有する必要がなく、リソース サーバーのみと共有する必要があることです。

この投稿では、Oauth2 RFCで定義されているロールを使用しました。ただし、リソースサーバーと認可サーバーの区別はしていません。簡単にするために、それらは同じであると仮定し、それらを「リソースサーバー」と呼びます。

2 つの異なる一連のイベントが表示されます。どちらのシナリオも、クライアントが保護されたリソースにアクセスできるようにする意図を持つリソース所有者から始まると仮定します。

ケース 1、リソース サーバーが提供する GUI

  1. クライアントは、リソース所有者をリソース サーバーのログイン ページに転送します。
  2. リソース所有者は、リソース サーバーの GUI で資格情報を提供します。
  3. 成功すると、リソース サーバーはリソース所有者をクライアントに転送し、ユーザー クライアントにトークンを提供します。

ケース 2、クライアントが提供する GUI

  1. クライアントは、リソース所有者に自分の資格情報を独自の GUI に提供するように依頼します。
  2. クライアントは、提供された資格情報をリソース サーバーに送信します。
  3. 成功すると、クライアントはトークンを取得し、リソース サーバーにアクセスします。

私の懸念はケース 2 です。クライアントとして認証するのではなく、リソース所有者として認証する場合、クライアントがリソース サーバー上で完全な特権を取得するのはどれほど難しいでしょうか? RFC は、クライアントがリソース所有者の資格情報を処理できるようにする代わりに、OAuth2 を使用する理由として次のように述べています。

「サードパーティのアプリケーションは、リソース所有者の保護されたリソースに過度に広範囲にアクセスできるようになり、リソース所有者は期間を制限したり、限られたリソースのサブセットにアクセスしたりすることができなくなります。」

RFC はさらに次のように述べています。

「サードパーティのアプリケーションは、将来の使用のためにリソース所有者の資格情報を保存する必要があります。通常、パスワードはクリアテキストです。」

これは、ケース 2 のクライアントによって非常にうまく保存される可能性があります。

では... Oauth2 を実装するクライアント (ケース 2) は、実装しないクライアントよりも安全であると想定できますか? リソースサーバーがこれらのようなことを防ぐメカニズムを実装することは可能ですか?

0 投票する
1 に答える
1041 参照

authentication - クライアントはどのようにして http-bearer トークンを取得しますか?

現在、OAuth2 認証プロバイダーへのタブを開くシングルページ アプリがあります。ユーザーが資格情報を入力すると、サーバーはタブを閉じる応答を送信します。サーバーは、セッションを設定することにより、クライアントが認証されたことを「認識」します。

ただし、実際にはセッションを使用したくありません。アプリケーションをステートレスに保ちたい。サーバーが検証できるoauth2ベアラートークンを使用することで、これが可能になるはずだと読みました。

クライアントはどのようにしてそのようなベアラー トークンを取得できますか? ユーザーがサービスプロバイダーのログインページで資格情報を入力できるようにiframeまたはタブを使用すると、JavaScriptが応答を取得できませんでした。

外部プロバイダー (セッションなし) を使用した OAuth2 は、Web の現在のクライアント/サーバー アーキテクチャでは不可能だというのは本当ですか?

0 投票する
1 に答える
2841 参照

python - Google+ ドメイン API 403 禁止

Google+ API を使用してサークルを作成しようとしていますが、ちょっと行き詰まっています。これは私のコードであり、公式の API ドキュメントから多かれ少なかれコピーされたものです (はい、サークルが作成されないことはわかっていますが、問題は同じ)

私の出力:

答えを探しましたが、実際には見つかりませんでした。API コンソールには、Google+ API と Google+ Domains API サービスが追加されており、シークレットとクライアント ID も問題ありません (そうしないと、スクリプト全体がすぐに失敗します)。また、認証は成功し、私のアプリの名前はhttps://accounts.google.com/IssuedAuthSubTokensの下に表示されます。私は何を取りこぼしたか?

0 投票する
0 に答える
1067 参照

google-app-engine - Google oauth2client での EOF エラー (Python、google-app-engine)

現在、Google のカレンダー API を使用するために、Python Web アプリケーションで oauth2client を使用しています。

oauth2client をディレクトリのルート フォルダーにコピーし、https://developers.google.com/google-apps/calendar/instantiate の指示に従いまし。つまり、私のコードは次のようになります。

ID、秘密鍵はすべて Google Cloud Console アカウントのものなので、正しいはずです。ログに次のエラーが表示されます。


次に何をすべきか迷っています。次のステップに関するガイダンスをいただければ幸いです。ありがとう!!

0 投票する
1 に答える
4512 参照

java - ユーザー登録とログイン | Spring Security OAuth 2.0 を使用した SSO

ユーザー登録とログインフローを実装しようとしています | Spring Security Oauth 2.0 と Google を認証プロバイダーとして使用する SSO。

  • 登録とログインの流れをどのように開始すればよいですか? どのフィルターを適用する必要がありますか?
  • 登録フローでは、成功した認証応答の一部であるユーザーの詳細 (名前、電子メール) をローカル データベースに保持する必要があります。どうすればそれを処理できますか?

  • oauth2:client id="oauth2ClientFilter" の目的は何ですか?

これは私のアプリケーションコンテキストファイルがどのように見えるかです:-

編集

Spring Security OpenID を使用して同じユースケースを実装しました:-

  1. exchange 属性が設定された openid:form タグの宣言
  2. ここで説明されているように UserDetailsS​​ervice を拡張します。

Oauth 2.0 の同等の構成を探しています。