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

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

3
JWT更新トークンフロー
私はモバイルアプリを作成していて、認証にJWTを使用しています。 これを行う最善の方法は、JWTアクセストークンと更新トークンをペアにして、アクセストークンを必要なだけ頻繁に期限切れにできるようにすることです。 更新トークンはどのようなものですか?ランダムな文字列ですか?その文字列は暗号化されていますか?別のJWTですか? 更新トークンは、アクセスのためにユーザーモデルのデータベースに格納されますよね?この場合は暗号化する必要があるようです ユーザーのログイン後に更新トークンを送り返し、クライアントに別のルートにアクセスさせてアクセストークンを取得させますか?

4
ASP.NET MVC 5とWEB API 2にoauth2サーバーを実装する方法[終了]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 昨年休業。 この質問を改善する まず、プロジェクトをスケッチします。 私のインターンシップでは、既存のシステムに機能を追加する必要があります。サードパーティのクライアントは、OAuth2を介してユーザーによって承認されると、AX Webサービスからデータにアクセスできる必要があります。私は、クライアントがその呼び出しを行うことができる「プロキシWebサービス」を作成する必要があること、およびAXサービスを呼び出す必要があることを理解していますが、OAuth2の部分については少しわかりません。ほとんどのチュートリアルとガイドは、ASP.NETのFacebookまたはGoogleログイン用のIDの使用に関するものです。それは必要ありません。既存の資格情報を使用する必要があるため、独自のOAuth2サービスを作成する必要があります。 これに関するチュートリアル、ガイド、説明を見つけるのは難しいと思います。私はOAuth2と実行する必要があることを理解していますが、そのようなことをこれまでにしたことがなく、開始するのが難しいと感じています。私が見つけたものに最も近いものは、このgithub repo linkですが、ソリューションは構築されません。 私が考えていたのは、クライアント(サードパーティ)が自分で登録し、クライアントIDを取得できるASP.NET MVC Webサイトの作成です。ASP.NET APIを使用して、必要なトークンとパラメーターを取得し、Dyn AXサービスにアクセスするAPIを作成したいと考えました。 これは正しいですか、それとも完全に間違っていますか?独自のoauth2サーバー/サービスの構築に関するヘルプやリンクがあれば便利です。

8
GoogleのOAuth 2.0 APIのスコープのリストはどこにありますか?[閉まっている]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 4年前休業。 この質問を改善する 私が使用している例では、OAuthリクエストのスコープを次のように指定しています:scope = https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email + https%3A%2F%2Fwww.googleapis.com%2Fauth% 2Fuserinfo.profile 2つのURIにデコードします。 https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile 利用可能なスコープの完全なリストと各スコープ内でアクセス可能な情報をカバーするドキュメントが見つかりません-そのようなものが存在するかどうか誰かが知っていますか?

4
JWT(Json Web Token)オーディエンス「aud」とClient_Id-違いは何ですか?
私は認証サーバーにOAuth 2.0 JWT access_tokenを実装する作業をしています。ただし、JWT audクレームとclient_idHTTPヘッダー値の違いは明確ではありません。彼らは同じですか?そうでない場合、2つの違いを説明できますか? 私の疑いはaud、リソースサーバーclient_idを参照する必要があり、認証サーバーによって認識されるクライアントアプリケーションの1つを参照する必要があるということです(つまり、WebアプリまたはiOSアプリ)。 現在のケースでは、リソースサーバーはWebアプリクライアントでもあります。
103 oauth  oauth-2.0  jwt 

4
エラー:リクエストヘッダーフィールドContent-TypeはAccess-Control-Allow-Headersでは許可されていません
vS2012を使用してmvc4 web apiプロジェクトを作成しました。以下のチュートリアルを使用して、クロスオリジンリソースシェアリングを解決しました。「http://blogs.msdn.com/b/carlosfigueira/archive/2012/07/02/cors-support-in-asp-net-web-api- rc-version.aspx」。それは正常に機能しており、クライアント側からサーバーにデータを正常にポストします。 その後、プロジェクトに認証を実装するために、次のチュートリアルを使用してOAuth2を実装しました。「http://community.codesmithtools.com/CodeSmith_Community/b/tdupont/archive/2011/03/18/oauth-2-0-for -mvc-two-legged-implementation.aspx」。これは、クライアント側でRequestTokenを取得するのに役立ちます。 しかし、クライアント側からデータを投稿すると、「XMLHttpRequestはhttp://を読み込めません。リクエストヘッダーフィールドのContent-TypeはAccess-Control-Allow-Headersでは許可されていません」というエラーが発生しました 。 私のクライアントサイドのようなコードを見て、 function PostLogin() { var Emp = {}; Emp.UserName = $("#txtUserName").val(); var pass = $("#txtPassword").val(); var hash = $.sha1(RequestToken + pass); $('#txtPassword').val(hash); Emp.Password= hash; Emp.RequestToken=RequestToken; var createurl = "http://localhost:54/api/Login"; $.ajax({ type: "POST", url: createurl, contentType: "application/json; charset=utf-8", data: JSON.stringify(Emp), statusCode: { 200: …

9
C#にJSON Web Token(JWT)の例はありますか?
私はここで狂った薬を飲んでいるような気がします。通常、常に100万のライブラリとサンプルがあり、特定のタスクのためにウェブ上に浮かんでいます。ここで説明するように、JSON Webトークン(JWT)を使用して、Googleの「サービスアカウント」で認証を実装しようとしています。 ただし、PHP、Python、Javaのクライアントライブラリしかありません。Googleの認証の範囲外でJWTの例を検索しても、JWTの概念にはクリケットとドラフトしかありません。これは本当に新しく、おそらくGoogle独自のシステムですか? 私が解釈することができた最も近いJavaサンプルは、かなり集中的で威圧的です。C#には、少なくとも最初は何かできるものがあるはずです。これでどんな助けでも素晴らしいです!
101 c#  oauth  oauth-2.0  jwt 

3
OAuth 2.0のクライアントシークレット
GoogleドライブAPIを使用するには、OAuth2.0を使用した認証を試す必要があります。そして私はこれについていくつか質問をしました。 クライアントIDとクライアントシークレットを使用して、アプリを特定します。ただし、クライアントアプリケーションの場合は、ハードコーディングする必要があります。したがって、誰でも私のアプリを逆コンパイルして、ソースコードから抽出できます。良いアプリのクライアントIDとシークレットを使用することで、悪いアプリが良いアプリのふりをすることができるということですか?それで、ユーザーは実際に悪いアプリから要求されたとしても、良いアプリに許可を与えることを求める画面を表示するでしょうか?はいの場合、どうすればよいですか?それとも私はこれについて心配する必要はありませんか? モバイルアプリケーションでは、アプリにウェブビューを埋め込むことができます。そして、許可を求めるアプリは実際には「ブラウザ」なので、webviewのパスワードフィールドを簡単に抽出できます。では、モバイルアプリケーションのOAuthには、クライアントアプリケーションがサービスプロバイダーのユーザー資格情報にアクセスできないという利点がないのでしょうか。

7
OpenID ConnectでのIDトークンの有効期限の意図は何ですか?
OpenID Connectでは、アクセストークンには有効期限があります。認証コードフローの場合、これは通常短い(たとえば、20分)後、更新トークンを使用して新しいアクセストークンを要求します。 トークンIDもは有効期限の時間を持っています。私の質問は、これの意図は何ですか? IDトークンの有効期限が更新トークンの有効期限よりも短い場合は、最終的にIDトークンの有効期限が切れますが、有効なアクセストークンがあることを意味します。 だからあなたはするつもりですか: IDトークンの有効期限を更新トークンの有効期限より長くするか、 アクセストークンと同じ有効期限に設定し、有効期限が切れたときに何らかのアクション(何?)を実行するか、 受信時にクライアントでIDトークンを消費し、その後の有効期限を無視しますか? OpenIDの接続仕様は、単に、IDトークンを検証する際と言います "The current time MUST be before the time represented by the exp Claim." これは(おそらく)上記の3番目のオプションをサポートします。 編集 OpenID ConnectはOAuth2に基づいて構築されているため、以下の補足質問に対する回答は、OAuth2仕様に記載されています。 expires_in RECOMMENDED. The lifetime in seconds of the access token. 関連する質問は、トークンの認証コードを交換するときに、同じ仕様で次のような応答が返される可能性があることです。 { "access_token": "SlAV32hkKG", "token_type": "Bearer", "refresh_token": "8xLOxBtZp8", "expires_in": 3600, "id_token": "eyJhbG[...]" } しかし、この場合、「expires_in」は何に関連していますか?アクセストークン、更新トークン、またはIDトークン? …

22
PG未定義のエラー関係ユーザーは存在しません
私は以前にこの質問を見ましたが、rspecについてのみです。まだ上級者なので、まだテストは作成していませんが、ある日すぐに作成します。:P アプリにサインアップ/ログインしようとすると、このエラーが発生します。私はdeviseを使用してユーザーを作成し、omn​​iauth2を使用してgoogleでサインインしました。 これはエラーです ActiveRecord::StatementInvalid at /users/auth/google_oauth2/callback PG::UndefinedTable: ERROR: relation "users" does not exist LINE 5: WHERE a.attrelid = '"users"'::regclass ^ : SELECT a.attname, format_type(a.atttypid, a.atttypmod), pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod FROM pg_attribute a LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum WHERE a.attrelid = '"users"'::regclass AND …

2
OAuth 2.0 Authorizationヘッダー
OAuth 2.0の機能をカプセル化したSDKを開発したい。OAuth 1.0と2.0の違いを確認しましたが、Authorizationヘッダー(1.0と 2.0)に混乱があります。OAuth1.0プロトコルパラメーターはHTTPの「Authorization」ヘッダーを使用して送信できますが、これは現在のところ説明されていませんOAuth 2.0ドラフト。 OAuth 2.0は認証ヘッダーをサポートしていますか? OAuth 1.0では、ヘッダーは次のようになります。 Authorization: OAuth realm="Example", oauth_consumer_key="0685bd9184jfhq22", oauth_token="ad180jjd733klru7", oauth_signature_method="HMAC-SHA1", oauth_signature="wOJIO9A2W5mFwDgiDvZbTSMK%2FPY%3D", oauth_timestamp="137131200", oauth_nonce="4572616e48616d6d65724c61686176", oauth_version="1.0"
91 http  oauth-2.0 

17
Google APIクライアントでトークンを更新する方法は?
私はGoogle Analytics API(V3)で遊んでいて、somエラーに遭遇しました。まず、すべてが正しく設定され、私のテストアカウントで機能します。しかし、別のプロファイルID(同じGoogle Accont / GAアカウント)からデータを取得したい場合、403エラーが発生します。奇妙なことに、一部のGAアカウントのデータはデータを返し、他のアカウントはこのエラーを生成します。 トークンを取り消してもう一度認証したところ、すべてのアカウントからデータを取得できるようになりました。問題が解決しました?ない。アクセスキーの有効期限が切れると、同じ問題が再び発生します。 私が正しく理解していれば、resfreshTokenを使用して新しいauthenticationTookenを取得できます。 問題は、私が実行すると: $client->refreshToken(refresh_token_key) 次のエラーが返されます。 Error refreshing the OAuth2 token, message: '{ "error" : "invalid_grant" }' refreshTokenメソッドの背後にあるコードをチェックして、リクエストを「apiOAuth2.php」ファイルに追跡しました。すべてのパラメーターが正しく送信されます。grant_typeはメソッド内で 'refresh_token'にハードコーディングされているため、何が問題なのかを理解するのは困難です。パラメータ配列は次のようになります。 Array ( [client_id] => *******-uqgau8uo1l96bd09eurdub26c9ftr2io.apps.googleusercontent.com [client_secret] => ******** [refresh_token] => 1\/lov250YQTMCC9LRQbE6yMv-FiX_Offo79UXimV8kvwY [grant_type] => refresh_token ) 手順は以下の通りです。 $client = new apiClient(); $client->setClientId($config['oauth2_client_id']); $client->setClientSecret($config['oauth2_client_secret']); $client->setRedirectUri($config['oauth2_redirect_uri']); $client->setScopes('https://www.googleapis.com/auth/analytics.readonly'); $client->setState('offline'); $client->setAccessToken($config['token']); …

5
Google OAuth2.0のログインメールを特定のドメイン名に制限する
Webアプリケーション(OAuth2.0およびGoogle APIを使用)へのログインを制限して、特定のドメイン名または一連のドメイン名のメールを持つユーザーからの認証リクエストのみを受け入れる方法に関するドキュメントが見つからないようです。ブラックリストではなくホワイトリストに登録したい。 これを行う方法、公式に受け入れられている方法に関するドキュメント、または簡単で安全な回避策に関する提案はありますか? 記録のために、私はユーザーがGoogleのOAuth認証を介してログインを試みるまで、ユーザーに関する情報を知りません。私が受け取るのは、基本的なユーザー情報とメールだけです。

1
OAuth承認と認証
OAuthの用語は、私を長い間悩ませてきました。OAuth認証は、一部の人が示唆しているようにですか、それとも認証ですか? 私が間違っている場合は訂正してください。ただし、承認は誰かにリソースへのアクセスを許可する行為であると常に読んでいますが、OAuthには、特定のリソースへのユーザーへのアクセスを実際に許可する実装がないようです。すべてのOAuth実装は、ユーザーにトークン(署名され、場合によっては暗号化されたもの)を提供することについて話します。このトークンは、バックエンドサービスエンドポイントへのすべての呼び出しで渡され、そこで有効性がチェックされます。これもOAuthの問題ではありません。 私が取るOAuth認証(すべての記事はそうではないと言っています)は、ユーザーが資格情報を提供する必要があり、それはユーザーがアクセスできるべき/すべきでないことを証明しますか? したがって、OAuthは他のプロセスによって実行される必要があるため、承認NOR認証ではないようです。それで、一体何ですか?トークンを伝達するためのプロセスですか?本当に意味のない綿毛の言葉ですか? 謎めいた迷信(魔界村)に聞こえずにこのテーマについて質問するのは難しいので、この質問に答えるのも簡単なことではないと思います。ご自身の責任でご入場ください。
90 oauth  oauth-2.0 

5
モバイルアプリに適したOAuth2.0フローは何ですか
OAuth2.0を使用してモバイルアプリのWebAPIに委任された承認を実装しようとしています。仕様によると、暗黙的な付与フローは更新トークンをサポートしていません。つまり、アクセストークンが特定の期間付与されると、トークンの有効期限が切れるか、トークンが取り消されたときに、ユーザーはアプリに再度アクセス許可を付与する必要があります。 仕様に記載されているように、これはブラウザで実行されているJavaScriptコードにとって良いシナリオだと思います。ユーザーがトークンを取得するためにアプリに権限を付与する必要がある時間を最小限に抑えようとしているので、認証コードフローは更新トークンをサポートしているため、適切なオプションのようです。 ただし、このフローは、リダイレクトを実行するためにWebブラウザに大きく依存しているようです。埋め込みWebブラウザーが使用されている場合、このフローがモバイルアプリにとって依然として適切なオプションであるかどうか疑問に思います。それとも、暗黙のフローを使用する必要がありますか?

7
CURLでベアラートークンを設定する正しい方法
APIエンドポイントからベアラートークンを取得し、次のように設定します。 $authorization = "Bearer 080042cad6356ad5dc0a720c18b53b8e53d4c274" 次に、CURLを使用して安全なエンドポイントにアクセスしたいのですが、Bearerトークンをどこにどのように設定するかがわかりません。 私はこれを試しましたが、機能しません: curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json' , $authorization )); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POSTFIELDS,$post); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); $result = curl_exec($ch); curl_close($ch); return json_decode($result); 編集: ドキュメントによると、私はベアラートークンをそのまま使用することになっています:https://apigility.org/documentation/auth/authentication-oauth2 GET /oauth/resource HTTP/1.1 Accept: application/json Authorization: Bearer 907c762e069589c2cd2a229cdae7b8778caa9f07
87 php  http  curl  oauth-2.0 

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