2016-10-18 5 views
1

私たちは、アカウントが単一のアカウント(会社)によって管理されるapp-1とapp-2 REST APIを開発しています。 jiraと合流アプリケーションのためのatlassianアカウントが必要なときに似たようなもの。第1党の集中アカウントアプリのROPCまたはクライアントの資格認可?

私は、/loginエンドポイントとどこにセッションを作成するのかをどこで混同しているのですか。私は確かに、セッションは、oauth2プロバイダ(認可+リソース)で将来的にサードパーティのoauth2クライアントを考慮して作成する必要があります。

ROPCで見ると、oauth2-clientには/loginがあり、資格情報を使用して承認サーバーにpassword grant_type要求を送信し、アクセストークンを作成してセッションにバインドします。セッションIDは、後続のリソースエンドポイント要求のためにUser-agentに返さなければなりません。 Client Credential Grant中に、/ loginとエンドポイントを持ち、userIDに直接sessionIDを発行する認証サーバーが表示されます。

アクセストークンはサーバー側に置く必要がありますか?

フォローアップの質問:https://stackoverflow.com/questions/40148613/ropc-and-oidc-for-rest-api-1st-and-3rd-party-clients

+0

アクセストークンに関するタイルと最後の質問に対処しようとしましたが、エンドポイントの混乱に関しては、私も混乱していることを認めなければなりません。シナリオをより明確にしようとすることはできますか? –

+0

@JoãoAngelo昨日、セッションをクライアント(oauth2)または承認サーバーで管理するかどうかについて、私はちょうどセッションを処理する方法について混乱しました。今私の結論は、あなたがアプリケーションを認証する前にアクティブなセッションを持つためにログインする必要があるときに、サードパーティアプリケーションの目的のためにid.atlassian.comのような小さなクライアントを持つ必要があるということです。したがって、セッション管理はoauth2クライアントで行われますか? –

+1

複数のセッションが存在する場合があります.1つは、ログインしたことを追跡する認証/承認サーバーによって管理されますが、クライアントアプリケーションはセッションを維持できるため、常にユーザーを尋ねる必要はありません。最初の認証の後、クライアントはセッションを作成して認証サーバーへの要求の数を減らすことができます。 –

答えて

0

リソースの所有者パスワードの認証情報の付与(ROPC)とクライアントの資格の付与(CC)との間に有意な違いがあります。第2には別のリソース所有者が関与していません。

CCを使用すると、アプリケーション自体が代わって動作し、特定のユーザーの範囲にない可能性が高いリソースにアクセスするだけのアプリケーションを使用できます。これは、次の図に示します。

OAuth 2.0 Client Credentials Grant Flow

(ソース:Client Credentials Grant

クライアントアプリケーションがユーザーに代わってAPIと対話する場合、これはあなたが探している助成金ではありませんの場合。

アクセストークンに関する質問では、答えはいいえです。サーバー環境外のクライアントアプリケーションでアクセストークンを利用できるようにすることができます。追加のセキュリティ上のリスクがありますが、これが不可能な場合は、モバイルアプリケーションとブラウザベースのアプリケーションでは、必要なAPIにアクセスできません。

+0

説明のために:__always__ OAuth2グラントタイプのフローに関与するリソースオーナーがいます(そうでなければ、フレームワークプロトコルには意味がありません)。 CCでは、リソース所有者がクライアントです。これは[RFC6749セクション-1.3.4](https://tools.ietf.org/html/rfc6749#section-1.3。)で明確に説明されています。4) –

+1

これは間違いありません。あなたが正しいと思うのは、仕様がそれを呼び出す方法です。それが勝つのです。個人的には、用語の過負荷のために混乱を招くことがあります。それにもかかわらず、私は答えをもっと明確にするように更新します。ありがとう。 –

+0

アクセストークンはリソースにアクセスするために必要なものです。モバイルまたはブラウザベースのアプリケーションでこのセキュリティ弱点のアドレスはどのようになっていますか? –

関連する問題