問題タブ [two-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.
ruby-on-rails - Railsの2本足のOAuthプロバイダー?
保護したいAPIを備えたRails2.3.5アプリケーションがあります。
ユーザーは存在しません。これはアプリからアプリへのスタイルのWebサービス(FacebookよりもAmazonサービスに似ています)なので、2本足のOAuthアプローチを使用して実装したいと思います。
私は最初にoauth-pluginサーバーの実装を使用しようとしています:
http://github.com/pelle/oauth-plugin
...しかし、3本足(Webリダイレクトフロー)のOAuthを期待して構築されています。
2本足をサポートするために変更を加える前に、もっと簡単な方法があるかどうか、またはRailsアプリが2本足のOAuthプロバイダーであることを実装するためのより良いアプローチがあるかどうかを確認したいと思いました。
authentication - 二足認証とは?
二足認証とは?プログラミングのどこで、どのように使用されますか?
c# - DNOA を使用して 2 Legged OAuth を実装した人はいますか?
CSharp で認証モジュールを作成しようとしています。ここでは、コンシューマー キーとシークレットのみを持つ 2 Legged OAuth の DotNetOpenAuth(DNOA) ライブラリを使用して、リクエストから署名を検証する必要があります。
DNOA を使用した 2 Legged OAuth のサンプル実装があれば、それが役に立ちます。そうでない場合は、実装方法に関するアイデアも機能します。どんな助けでも大歓迎です。
javascript - OAuth2 ユーザーエージェントフロー + two-legged OAuth
OAuth2 のユーザー エージェント フローについて 2 つの質問があります。(OAuth2 のユーザー エージェント フローの現在の RFC ドラフトはこちら: https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-11#section-2.2 )
1)
ステップ C: アクセス トークンは、ユーザー エージェント (ブラウザー) のみがアクセスできるため、フラグメントで指定する必要があります。サーバー側に到達する場合(サーバー側がある場合)、クライアント側がサーバー側にそれを渡すことができるようにする簡単な回避策もあります(Cookie、隠しフィールド、. ..)
2)
OAuth2 ユーザー エージェント フローを実装したいのですが、2 つのバージョン (request_token で十分です。コンシューマー アプリはユーザーとして機能するため、サービス プロバイダーでユーザーを認証する必要はありません)
OAuth2 のユーザー エージェント フローと 2 脚バージョンの組み合わせには、大きなセキュリティ ギャップが 1 つあります。
Web ブラウザーがすべてのリダイレクトを処理します。これは、サービス プロバイダーが指定されたホストとドメインにユーザーを送信していると考えていても、そのホストとドメインは、ユーザーが DNS 設定または /etc/hosts を微調整することにより、自分のマシンまたは任意の場所にリダイレクトするのは簡単であることを意味します。ファイル。
これを 3 脚バージョンと 2 脚バージョンで見てみましょう。
3-legged OAuth では、ユーザーはサービス プロバイダーで自分自身を認証する必要があるため、これは大きな問題ではありません。攻撃者は自分のマシンにつながる偽のドメインを設定する可能性がありますが、それでもユーザーの資格情報が必要です。彼はユーザーを自分のドメインに誘い込むことができますが、ドメイン検索の結果を作成する必要があり (ユーザーのユーザーエージェントによって行われます)、ユーザーのマシンにアクセスすることによってのみ行うことができます (これはより困難です)。
ただし、2-legged OAuth の場合: 攻撃者は、罪のないコンシューマー アプリのドメインを使用して localhost (/etc/hosts) を簡単に設定し、request_token を取得できます。ユーザーはそれとは何の関係もありません。攻撃者は、罪のないコンシューマー アプリのすべてのユーザーに代わって呼び出しを行うことができます。このギャップを確保する方法を知っている人はいますか?
こんにちは、キエルス
oauth - Google Data API - Two Legged Auth トークンの再利用
Google Contact Data API に 2 つのレッグ OAuth を使用し、リクエストごとにトークンを生成しています。
次回再利用するためにトークンを保存することをお勧めしますか?
また、古いトークンを検出する方法は?
私はパイソンを使用しています。(および Gdata Python クライアント ライブラリ)。
編集:わかりました、トークンは暗号化を使用してクライアント側で生成され、サーバー側から収集されないため、リクエストごとにトークンを生成しても問題ありません。私は正しいですか?つまり、ユーザーのトークンは決して変更されません (共有シークレットを変更しない限り) ですよね?
php - プロバイダー/クライアント2本足のOAuth私はこれを正しく理解していますか?(PHPの実装例)
データセットに開発者APIを提供します。2本足のoauth認証を追加して、APIを使用する開発者アプリを認証できるようにします。まず、これはこのタイプの認証に最適なソリューションですか?
第二に、実装/フローの観点から、私の理解は正しいです:
ランダムな開発者が私のサイトにアクセスし、「サインアップ」ページを使用します。このページを送信すると、APIキーとシークレットが生成されます。
次に、ここにあるphpのようなoauthライブラリを使用して、これらの資格情報を使用してリクエストに署名します。
$ Consumer = new OAuthConsumer('thegeneratedkey'、'thegeneratedsecret');
$ sig_method = new OAuthSignatureMethod_HMAC_SHA1;
- 次に、サーバーはoauthライブラリを使用して、そのリクエストの「署名」をチェックし、開発者アプリを認証します。
$ secret='秘密'; //この行を無視します。
これは正しいです?
その場合、この認証はリクエストが行われるたびに実行する必要がありますか、それとも開発者アプリからAPIへの各HTTPリクエストの重みを減らすために何らかのトークンを生成できますか?
apache - Apache http サーバーを使用した二足認証
クライアントへのアクセスを提供するために二足の oauth プロトコルを使用する API (jetty インスタンスで実行) があります。API に接続するための単純な Java クライアント (oauth-signpost を使用) を作成しましたが、接続は成功しています。
API を apache http サーバーの背後に配置したいと考えています。apache http サーバーは、リクエストを api に転送するように構成されています。
以下の作品:
(oauth なし) クライアント ---> Apache HTTP サーバー --> Jetty
(oauth あり) クライアント ---> Jetty
以下は機能しません。
(oauth あり) クライアント ---> Apache HTTP サーバー ---> Jetty
次のエラー メッセージが表示されます
「署名方式 HMAC-SHA1 の署名が無効です」
この問題に直面した人はいますか?ホスト名とポートなしでリクエストに署名することは可能ですか?
ありがとうございました。
java - Scribe のリクエスト ヘッダーから oauth_token を削除する
Two-legged OAuth を使用してリクエストを認証し、レスポンスを送信する別の会社のカスタム API に接続しようとしています。
現時点では、コードはリクエストを送信していますが、相手側で認証されていないため、UNAUTHORIZED レスポンスを送信しています。
これまでに調査した手順は次のとおりです。
- 同じ資格情報を使用して Python で OAuth 実装を使用してリモート サイトに接続しました。
- 他の会社に、私たちの OAuth リクエストを成功した別の会社と比較して、私たちの OAuth リクエストに欠けているものがあるかどうかを確認するよう依頼しました。
上記の 2 番目のポイントの後、私たちのリクエストと別の有効なリクエストの唯一の違いは、oauth_token
パラメーターが私たちのリクエストに存在し、他のリクエストには存在しないことです。さらに、彼はoauth_body_hash_value
、ほとんどのリクエストには がありますが、私たちのリクエストには存在しないと言いました。
oauth_token
Scribe でパラメータを削除する方法はありますか? または、 はoauth_body_hash_value
常に必要ですか? リクエストはなくても機能しますか?
以下のコードを含めました。OAuth はまったく初めてなので、他に何か問題がある場合はお気軽にお知らせください。
TestAPI.class は DefaultAPI10a を拡張し、必要な 3 つのメソッドすべてに対して "" を返すだけであることに注意してください。
oauth-2.0 - 二足のoauth2.0はcallbackAuthorizeを持っていますか/サポートしていますか?
3 本足のフローでは、アクセス トークンと交換できるコードを取得できる callbackAuthorize があります。2 本足の oauth に似たようなもの (認証トークンを使用してコールバックする) があるのか、単に認証 URL に client_id + client_secret を指定し、応答が認証トークンなのか疑問に思っています。
asp.net-mvc-4 - WebApi 用の two-legged OAuth 2.0 の実装
VS2012RC を使用して mvc4 webapi プロジェクトを作成しました。プロジェクトに 2 本足の Oauth 2 を実装しようとしました。チュートリアル「http://community.codesmithtools.com/CodeSmith_Community/b/tdupont/archive/2011/03/18/oauth-2-0-for-mvc-two-legged-implementation.aspx」に従いましたが、それはmvc用です。Web API用に実装しています。しかし、機能していません
クライアント側の html ページを作成しました。HTMLページがロードされると、「アクセストークン」を返すことを目的としたajax関数が実行されます。
サーバー側のコードは、
}
RequestToken()メソッドは次のようになります。
LoginModelOAuthモデルは次のようになります。
クライアント側のコードを実行すると、次のエラーが表示されます
だから私はサーバー側のコードをデバッグし、サーバー側でこのコードに対応するエラーが発生しました
"var response = OAuthServiceBase.Instance.RequestToken();" 、エラーは
私のwebconfigファイルは次のようになります
Web APIで動作しますか?
そうでない場合は、役立つチュートリアルを提案してください。
ありがとう。