問題タブ [oauth2]

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 に答える
3120 参照

python - ユーザー名とパスワードで OAuth2 を使用する

ベータ版の一部として、特定のサービスへの REST API アクセスを取得しました。認証はOAuth2を介して行われると言われました。

私は以下を得ました:

  1. ID
  2. 秘密
  3. サイト

Ruby のコード サンプルも入手しました。

パッケージを使用してPythonでこの同じスニペットを実装しようとしていoauth2ますが、成功しませんでした:

2 番目の応答には、次の内容が含まれます。

oauth2.Clientまた、トークンなしでオブジェクトを作成しようとしましたが、 の最初の応答を確認しましたaccess_tokenが、何も起こりませんでした。

ここで認証する適切な方法は何ですか?

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

c# - Windows サーバーでの Youtube API v3 OAuth2 ハンドシェイク エラー「接続に失敗しました」

Youtube v3 API を ASP.NET 4.5/C# と組み合わせて使用​​し、コンソール アプリケーションを介して特定の youtube チャンネルに動画をアップロードしたいと考えています。コンパイルは、Windows 7 Professional Development マシン上の Visual Studio 2015 で行われます。

そのため、Google Developer Console 内で OAuth2 資格情報を作成し、OAuth2 認証ハンドシェイクに次のコードを使用します。

これまでのところ、すべて正常に動作しています。以前に認証が行われなかった場合、ブラウザー ウィンドウが開き ( access_type=offline&response_type=code )、YouTube アカウントにログインし、チャンネルを選択し、必要なアクセス権を付与し、ブラウザー ページに戻りますlocalhost:portnumber/authorize?code= XYZに「 Received validation code. You may close this windows 」と書かれており、コンソール アプリケーションは動作を続けます。これは、開発マシンでの作業ワークフローです。

ただし、アプリケーションを Windows Server 2012 にコピーすると、エラーが発生します。ブラウザ ウィンドウも開き、ログインしてアクセス権を付与できますが、最終的なブラウザ ページlocalhost:portnumber/authorize?code=XYZは、ブラウザ固有の「接続に失敗しました」というエラー ページでロードできません。

受信したコード情報を読み取り、トークンを取得し、それを %AppData%/Google.Apis.Auth に書き込むプロセスが (ランダム?) ポート番号に関連付けられていないようです。ファイアウォールは何もブロックしません。

私たちの最初の推測は、名前解決の問題でした。デフォルトでは、localhost は Windows サーバー上で ::1 に解決されました。残念ながら、IPv4 解決を強制的に 127.0.0.1 にすると、まだ機能しません。

すべての提案に感謝します。

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

javascript - Google OAuth2 のポップアップ ウィンドウを閉じる

Gmail の oauth2 をポップアップで開きnewWindow = window.open(...)、ユーザーが入力を完了して「許可」を押すと、トークンが取得されて保存されるサーバーにリダイレクトされます。最後に、サーバーは「エラー」または「成功」を返すため、ポップアップにはそれが含まれます。今Angular側でこれを実行しています。

これはうまくいくこともあれば、うまくいかないこともあります。このコードは、Dropbox などの他の Oauth プロバイダーにも再利用しています。理由はありますか?

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

python - POST リクエストからアクセス トークンを取得し、GET リクエストで使用する

アクセス トークンを取得するために、要求ライブラリを使用して POST 要求を作成しています。リクエストは正しく機能しますが、それを抽出して GET リクエストで使用する方法がわかりません。

戻り値:

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

ruby-on-rails - Office 365 から返された OAuth2 トークンに、preferred_username クレームが含まれていません

私はこのチュートリアルに従い、返されたトークンをデコードし、電子メール アドレス ( preferred_usernameプロパティに格納する必要があります) を抽出するところまで到達しました。つまり、次のコードです。

問題は、返されたオブジェクトにこのプロパティが含まれていないことです。返される内容は次のようになります。

仕様をざっと見てみると、Office 365 から正しいオブジェクトを取得していることがわかります。preferred_usernameは潜在な要求として言及されていますが、取得したオブジェクトには含まれていません。

正しいパラメーターでget_token関数を呼び出していない可能性がありますが、ライブラリのドキュメントはかなりまばらなので、実際にはわかりません。

Github で問題を提起しました。

これは Office 365 側のエラーですか、チュートリアルのエラーですか、それとも自分で何か間違ったことをしていますか?

0 投票する
5 に答える
2733 参照

oauth2 - oauth2 の特定のアルゴリズム

Oauth2 を使って SSO システムを実現する必要があります。oauth2 の手順は理解できますが、認証コードや access_token、おそらくハッシュなどを生成する際の特定のアルゴリズムが何であるかはわかりません。また、インターネット上で見つけることができません

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

java - マルチテナント環境で OAUTH2 に pac4j をどのように使用しますか?

Java アプリケーションでpac4jを使用して、Tomcat フィルターまたは Tomcat バルブを作成したいと考えています。フィルターまたはバルブは、標準の OAUTH2 認証コード フローを使用して OpenID Connect をサポートする必要があります。これを行うには、 j2e-pac4jの上に構築する方がよいでしょうが、 j2e- pac4j で OAUTH2 フィルターを使用することはできません。フィルターまたはバルブは、HTTP ヘッダーを追加してリクエスト オブジェクトを変更する必要があります。フィルター/バルブの背後にある Web アプリには HTTP ヘッダーが必要ですが、これはサード パーティであるため、これを変更することはできません。

JWT を取得できるように Open ID Connect を使用しますが、JWT とそのコンテンツ、およびおそらく Open ID Connect の userinfo エンドポイントを使用する以外は、標準の OAUTH2 フローを実行しているだけです。複雑な点は次のとおりです。承認のためにリダイレクトするサーバーは、複数のテナントをサポートしています。これは、リダイレクト先の URL の URL にテナント名が含まれることを意味します。これは、次のような URL の代わりに

(?response_type=code&scope=openid&client_id=myclientname&state=nonce&redirect_uri=...わかりやすくするために省略しています。) 次のいずれかのような URL にリダイレクトする必要があります。

pac4j でこれを行うにはどうすればよいですか? すべてのクライアントが承認のために異なるリダイレクト URL を使用する可能性があるため、pac4j はこれをサポートしないと言われています。