問題タブ [2-legged]

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

ios - Objective C の 2-legged OAuth 1.0a - iOS アプリ開発

私はObjective-CでiPhoneアプリケーションを開発していますが、それは非常に新しいものです。リクエスト URL、コンシューマー キー、およびシークレットを取得しただけです。2 レグ認証を行うにはどうすればよいですか。コードを教えてください。AFNetworking プロジェクトと他のサンプルは既に確認しましたが、私のような初心者には複雑すぎると思います。

ありがとう。

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

java - Oauth 2-legged システムへの認証

2legged oauth を使用して Web サービスを認証しようとしています。標識ライブラリを使用して認証済み URL を作成する次の Java の例があります。

そして、これはこのようなURLを生成します

http://example.com/my/method?oauth_consumer_key=KEY&oauth_nonce=4779611081457530684&oauth_signature=v19lL74VVMTibCMja5vnwIE2q5g%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1368778106&oauth_token=KEY&oauth_version1.

そして、Ruby のoauthを使用して再作成しようとしています。私のコードは次のようになります。

そして、次のような URL を生成します。

http://example.com/my/method?oauth_signature_method=HMAC-SHA1&oauth_nonce=7eQe4cAE27uBE9Bftfx7Pcjj1kqfuXHPWt5d3NZw0&oauth_version=1.0&oauth_consumer_key=KEY&oauth_timestamp=1368778250&oauth_signature=EbM0BjslzB5yGAiDEGiWeC8Ek3

しかし、手動で oauth_token をキーに設定しても (道しるべのように)、常に Unauthorized エラーが発生します。nonce が無効のように見えますが、どちらも oauth に有効なライブラリです

誰でも私を助けることができますか?

前もって感謝します

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

ruby-on-rails - 2足のOAuthでRails REST APIを構築するには?

2-legged OAuth 認証を使用して適切にテストされた RESTful API を取得するために、OAuth と RSpec で 2 日間苦労してきたので、ここに投稿して、これ以上の苦痛が起こらないようにすることを考えました。

これが答えです。

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

oauth - OAuth 1.0 - 2-legged と 3-legged 認証の両方を実装する方法は?

私は OAuth 1.0a プロバイダーを実装し、標準の 3-legged 認証を使用して正常に認証できる OAuth クライアントを持っています。

OAuth はサーバー上の REST API を保護しており、それを使用するモバイル アプリがあります。

私のモバイル アプリには、エンド ユーザーがプライベート アカウントにログインする前でもアクセスできる機能 (エンドポイント) がいくつかあります。
一部のユーザーは、アカウントを作成せずにパブリック機能を使用したい場合さえあります。

「パブリック」エンドポイントと「プライベート・ツー・ユーザー」エンドポイントの両方を OAuth で保護したいと考えています。

したがって、次の方法で OAuth を使用する方法だと思います (ただし、間違っている可能性があります... 非常に間違っています)。

モバイル アプリは、アプリが初めて起動されるとすぐに、最初に 2-legged 認証を行います。そうすれば、モバイル アプリは "2-legged" トークンを取得します。モバイル アプリは、このトークンを使用してパブリック エンドポイントにアクセスします。

ユーザーがアプリケーションへのログインを要求すると、モバイル アプリは 3-legged 認証を実行し、「3-legged トークン」を取得します。これ以降、アプリは以前の 2-legged トークンを忘れ、3-legged トークンを使用してパブリック エンドポイントとプライベート エンドポイントの両方にアクセスします。

1) 最初の質問。それは理にかなっていますか?それを行う別の良い方法はありますか?

今私の問題は次のとおりです。モバイルアプリが2-leggedを使用して認証するかどうかを私(サーバープロバイダー)はどのように知ることができますか? プロバイダーとして、ユーザーが入力するログインフォームにクライアントをリダイレクトするか (3-legged の場合)、または既に承認されたリクエストを発行するかを決定するために、そのことを知る必要があると思います。トークン (2-legged の場合) をアクセス トークン (3-legged の場合) と交換できるようにします。

これを行うための私のアイデアは、クライアントに 2 つのコンシューマー キーを提供することでした。私はプロバイダーとして、受け取ったコンシューマー キーに基づいて提供するフローを認識します。

2) 2 番目 (そして最後の質問)。これは賢明ですか?それを実装するより良い方法はありますか?

クライアント (消費者) が空のアクセス トークンを送信できるようにするだけで 2-legged を実装している人を見てきました。代わりに、その方法はありますか?

ありがとう。