タグ付けされた質問 「oauth-2.0」

OAuth(Open Authorization)は、デスクトップ、モバイル、およびWebアプリケーション向けのシンプルで標準化された方法で安全なAPI認証を可能にするオープンプロトコルフレームワークです。OAuth 2.0はOAuthプロトコルの2番目のバージョンです。

10
OAuth 2とOAuth 1の違いは何ですか?
非常に簡単に言えば、誰かがOAuth 2とOAuth 1の違いを説明できますか? OAuth 1は現在廃止されていますか?OAuth 2を実装する必要がありますか?OAuth 2の実装はあまり見かけません。ほとんどはまだOAuth 1を使用しているため、OAuth 2を使用する準備ができているとは思えません。それは...ですか?

8
OAuth 2は、セキュリティトークンを使用したリプレイ攻撃などからどのように保護しますか?
私が理解しているように、からユーザーの情報Site-Aにアクセスするために、OAuth 2では次の一連のイベントが発生します。Site-B Site-Aに登録しSite-B、シークレットとIDを取得します。 ときにユーザーが伝えSite-AアクセスにSite-B、ユーザーがに送信されSite-B、彼らが言うところSite-B、彼らが与えることでしょう実際に似ていることSite-A、特定の情報へのアクセス権を。 Site-Bリダイレクトユーザーに戻ってSite-A認証コードと一緒に、。 Site-A次にSite-B、セキュリティトークンと引き換えに、その認証コードとシークレットを渡します。 Site-A次にSite-B、ユーザーに代わって、リクエストとともにセキュリティトークンをバンドルしてリクエストを送信します。 セキュリティと暗号化の観点から、これらすべてはどのように機能しますか?OAuth 2は、セキュリティトークンを使用したリプレイ攻撃などからどのように保護しますか?
564 oauth-2.0 

30
Google OAuth 2認証-エラー:redirect_uri_mismatch
ウェブサイトhttps://code.google.com/apis/consoleでアプリケーションを登録し、生成されたクライアントID:とクライアントシークレットをアプリに設定して、Googleでログインしようとしました。残念ながら、私はエラーメッセージを受け取りました: Error: redirect_uri_mismatch The redirect URI in the request: http://127.0.0.1:3000/auth/google_oauth2/callback did not match a registered redirect URI scope=https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email response_type=code redirect_uri=http://127.0.0.1:3000/auth/google_oauth2/callback access_type=offline approval_prompt=force client_id=generated_id このメッセージはどういう意味ですか、どうすれば修正できますか?私はgem omn​​iauth-google-oauth2を使用しています。

5
「暗黙的」フローがうまく機能しているのに、OAuth2に「承認コード」フローがあるのはなぜですか?
「暗黙的」フローでは、リソース所有者(つまり、ユーザー)がアクセス権を付与した後、クライアント(ブラウザーなど)がアクセストークンを取得します。 ただし、「認証コード」フローでは、クライアント(通常はWebサーバー)は、リソース所有者(つまりユーザー)がアクセスを許可した後にのみ認証コードを取得します。次に、その認証コードを使用して、クライアントはAPIをもう一度呼び出し、client_idとclient_secretを認証コードとともに渡して、アクセストークンを取得します。ここですべてがよく説明されています。 両方のフローの結果はまったく同じです。アクセストークンです。ただし、「暗黙的」フローははるかに単純です。 質問:「暗黙的な」フローがうまく機能しているのに、なぜ「認証コード」フローに煩わされるのですか?ウェブサーバーに「暗黙的」も使用しないのはなぜですか? プロバイダーとクライアントの両方にとってより多くの作業です。

3
OAuth 2.0:利点と使用例—なぜですか?
誰もがOAuth2の何が良いのか、なぜそれを実装する必要があるのか​​説明できますか?私はそれについて少し混乱しているので私は尋ねます—これが私の現在の考えです: OAuth1(より正確にはHMAC)リクエストは論理的で、理解しやすく、開発しやすく、本当に安全です。 代わりに、OAuth2は認証リクエスト、アクセストークン、リフレッシュトークンをもたらします。セッションの開始時に3つのリクエストを作成して、必要なデータを取得する必要があります。それでも、トークンの有効期限が切れると、いずれかのリクエストが最終的に失敗します。 また、別のアクセストークンを取得するには、アクセストークンと同時に渡された更新トークンを使用します。それはセキュリティの観点からアクセストークンを無駄にしますか? さらに、/ r / netsecが最近示したように、SSLはすべて完全に安全なわけではないため、安全なHMACの代わりにすべてをTLS / SSLに取得しようとすると、混乱します。 OAuthは、100%の安全性ではないと主張していますが、公開して完成させています。これは、プロバイダーの観点からは、有望とは言えません。ドラフトが6つの異なるフローに言及しているときに、ドラフトが何を達成しようとしているのかを確認できますが、それは私の頭の中ではうまくいきません。 実際にそれを嫌うよりも、その利点と理由を理解するのが私の苦労かもしれないと思うので、これは少し不当な攻撃かもしれません、そしてこれが暴言のように思えるかもしれません。
256 oauth  oauth-2.0 

12
OAuth 2の暗黙的な許可タイプの目的は何ですか?
何らかの盲点があるかどうかはわかりませんが、OAuth 2仕様を何度も読み、メーリングリストのアーカイブをよく読みました。また、暗黙の許可の理由についてはまだよくわかりません。アクセストークンを取得するためのフローが開発されました。Authorization Code Grantと比較すると、それほど説得力のある理由もなく、クライアント認証をあきらめているようです。これはどのようにして(仕様を引用するために)スクリプト言語を使用してブラウザに実装されたクライアント向けに最適化されていますか? どちらのフローも同じように始まります(ソース:http : //tools.ietf.org/html/draft-ietf-oauth-v2-22): クライアントは、リソース所有者のユーザーエージェントを認証エンドポイントに送信することでフローを開始します。 認可サーバーは、リソースオーナーを(ユーザーエージェント経由で)認証し、リソースオーナーがクライアントのアクセス要求を許可するか拒否するかを確立します。 リソースの所有者がアクセスを許可すると、認証サーバーは以前に(リクエスト内またはクライアントの登録時に)提供されたリダイレクトURIを使用してユーザーエージェントをクライアントにリダイレクトします。 リダイレクトURIには認証コード(認証コードフロー)が含まれています リダイレクトURIには、URIフラグメントにアクセストークンが含まれます(暗黙的なフロー)。 ここで、フローが分割されます。どちらの場合も、この時点でのリダイレクトURIは、クライアントがホストするいくつかのエンドポイントに対するものです。 承認コードフローでは、ユーザーエージェントがURIの承認コードでそのエンドポイントに到達すると、そのエンドポイントのコードが、必要に応じて使用できるアクセストークンのクライアント資格情報と共に承認コードを交換します。たとえば、ページ上のスクリプトがアクセスできるWebページにそれを書き込むことができます。 暗黙的フローは、このクライアント認証ステップを完全にスキップし、クライアントスクリプトを含むWebページをロードするだけです。アクセストークンが過剰に渡されないようにするURLフラグメントには、ここにかわいいトリックがありますが、最終的な結果は基本的に同じです。クライアントがホストするサイトは、アクセストークンを取得できるスクリプトを含むページを提供します。 したがって、私の質問:クライアント認証手順をスキップすることで、ここで何が得られましたか?

4
アクセストークンの有効期限が切れるのはなぜですか?
Google APIとOAuth2を使い始めたばかりです。クライアントが私のアプリを承認すると、「更新トークン」と有効期間の短い「アクセストークン」が与えられます。これで、アクセストークンの有効期限が切れるたびに、更新トークンをGoogleにPOSTして、新しいアクセストークンを取得することができます。 私の質問は、アクセストークンの有効期限が切れる目的は何ですか?更新トークンの代わりに、長持ちするアクセストークンが存在しないのはなぜですか? また、更新トークンには有効期限がありますか? 参照アクセスGoogleのAPIへのOAuth 2.0を使用して GoogleののOAuth2のワークフロー詳細は。

4
リダイレクトURIとは何ですか?OAuth2.0のiOSアプリにはどのように適用されますか?
ここの初心者プログラマ、無知と説明はご容赦ください:) 特定のOAuth 2.0サービスのチュートリアルを読み込もうとしましたが、このリダイレクトURIがわかりません...特定のコンテキストで、いくつかのサービスにOAuth 2.0を使用するiPhoneアプリを構築しようとしているとしましょう。生成されたアプリIDがありますが、APIキーを生成するために何らかのリダイレクトURIを提供する必要があります。 これは自分がどこかでホストすることになっているURLですか?名前が示すように、リダイレクトURLは誰かをどこかに「リダイレクトする」ことになっていると思います。私の推測では、ユーザーがサービスにログインした後にリダイレクトされるURLです。 しかし、その仮定が正しいとしても、他に1つは理解できません。ユーザーログインのためにブラウザーにアプリを送信した後で、アプリを再度開くにはどうすればよいですか。

9
OAuth承認コードと暗黙的なワークフローの違いは何ですか?それぞれをいつ使用するのですか?
OAuth 2.0には複数のワークフローがあります。2つについていくつか質問があります。 承認コードフロー -ユーザーがクライアントアプリからログインすると、承認サーバーが承認コードをアプリに返します。次に、アプリは認証コードをアクセストークンと交換します。 暗黙的な付与フロー -ユーザーはクライアントアプリからログインし、承認サーバーはクライアントアプリに直接アクセストークンを発行します。 セキュリティの点で2つのアプローチの違いは何ですか?どちらがより安全で、なぜですか? サーバーがアクセストークンを直接発行できるときに、1つのワークフローに追加の手順(トークンの認証コードの交換)が追加される理由がわかりません。 クライアントアプリが資格情報を安全に保つことができる場合、承認コードフローが使用されると、さまざまなWebサイトが述べています。どうして?
165 oauth  oauth-2.0 

9
すべての呼び出しを変更せずにRetrofitを使用してOAuthトークンを更新する
AndroidアプリでRetrofitを使用して、OAuth2で保護されたサーバーと通信します。すべてが適切に機能します。RequestInterceptorを使用して、各呼び出しにアクセストークンを含めます。ただし、アクセストークンが期限切れになり、トークンを更新する必要がある場合があります。トークンの有効期限が切れると、次の呼び出しは無許可のHTTPコードで返されるため、監視は簡単です。各Retrofit呼び出しを次のように変更できます。失敗コールバックでエラーコードを確認し、Unauthorizedに等しい場合は、OAuthトークンを更新してから、Retrofit呼び出しを繰り返します。ただし、これを行うには、すべての呼び出しを変更する必要があります。これは容易に保守できず、適切な解決策ではありません。すべてのレトロフィット呼び出しを変更せずにこれを行う方法はありますか?

28
AndroidでOAuth 2.0の署名証明書フィンガープリント(SHA1)を取得する方法
https://developers.google.com/console/help/#installed_applicationsの手順に従ってAndroidアプリを登録しようとしています 。このため、 http://developer.android.com/tools/publishing/app- signing.html。 ただし、署名証明書のフィンガープリント(SHA1)を取得する方法がわかりません。 最初にEclipse ADTプラグインを使用して、キーストア/キーをエクスポートおよび作成しました。次に、試してみたところkeytool -list keystore mykeystore.keystore、MD5証明書のフィンガープリントが得られました。署名をやり直す必要がありますか(Eclipseエクスポートウィザードを使用できないことを意味します)? 最初にデバッグ証明書を使用できますか?
154 android  oauth-2.0 

4
Googleアクセストークンの有効期限
access_tokenGoogle APIからを取得すると、expires_in値が付属します。ドキュメントによると、この値は「アクセストークンの残りの寿命」を示しています。 この値の単位は何ですか?
150 oauth-2.0 


3
OAuth 2のベアラートークンとtoken_typeとは何ですか?
OAuth 2仕様のリソース所有者とパスワードの認証情報フローを実装しようとしています。token_type有効な応答で返される値を理解できません。仕様ではすべての例が示されて"token_type":"example"いますが、 token_typeは必須です。セクション7.1の説明に従って発行されたトークンのタイプ 。値は大文字と小文字を区別しません。 誰かがこれを私に説明してくれませんか?
140 oauth-2.0 

4
React NativeのFetchで認証ヘッダーを使用する
fetchReact Nativeで使用してProduct Hunt APIから情報を取得しようとしています。適切なアクセストークンを取得してStateに保存しましたが、GETリクエストのAuthorizationヘッダー内で渡すことができないようです。 ここに私がこれまで持っているものがあります: var Products = React.createClass({ getInitialState: function() { return { clientToken: false, loaded: false } }, componentWillMount: function () { fetch(api.token.link, api.token.object) .then((response) => response.json()) .then((responseData) => { console.log(responseData); this.setState({ clientToken: responseData.access_token, }); }) .then(() => { this.getPosts(); }) .done(); }, getPosts: function() { var obj …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.