2017-09-19 3 views
1

APIサーバー(バックエンド)、クライアントWebサイト、およびエンドユーザーの3つのレイヤーを含むシステムがあります。ここで、認証はAPIサーバー上で行われます。これは2つのケースで行われます。クライアントWebサイトは、ユーザー/パスに基づいてサービスから取得するトークン(クライアントトークン)を使用してクライアントWebサイトAPIを直接呼び出します。また、クライアントWebサイトを使用してAPIサーバーにエンドユーザーがログインする以外に、APIサーバーで認証が発生しましたクライアントWebサイト以外。クライアントサイトは、(エンドユーザコールのための)認証トークンとして名付けられた別のトークンを取得し、次に、2つのトークンを送信することによってエンドユーザが要求したAPIをコールする。クライアントと認証トークンを使用して、APIサーバーはクライアントとエンドユーザーがそれぞれログインしているかどうかをチェックします。エンティティとその関係が示されていますin hereWSO2 APIマネージャーによる認証

APIサーバーとクライアントサイトの間のゲートウェイとしてAPIマネージャを使用して、そのプロセスで認証プロセスを管理したいと考えています。 WSO2 API Mangerを使用してこのシナリオを実装するにはどうすればよいですか?あなたのお返事ありがとう!

+0

投稿を読むのが少し難しいです(一部の書式設定や詳細表示は、一部の部分が本当にはっきりしないので役立ちます)。 「クライアントWebサイト以外のAPIサーバで認証が発生しました」とはどういう意味ですか? 「クライアントおよび認証トークンを使用することによって」要求されたトークン(コードまたはパスワードOAuthプロファイルを使用する)がアプリケーションおよびユーザにバインドされる(両方とも有効でなければならない)。登録済みのアプリケーションのみがAPIを使用できます) – gusto2

+0

クライアントWebサイトは、APIサーバーとエンドユーザーの間に配置され、認証プロセス自体を実装していない第三者アプリケーションです(エンドユーザーのユーザーとパスの確認)。あるシナリオでは、ユーザーがクライアントのWebサイトにログインすると、ユーザーとAPIサーバーにパスします。したがって、APIサーバーはU&Pの有効性をチェックし、Authトークンを作成して、ユーザー用のセッションも作成します。この時間の後、エンドユーザからの各リクエストの前に、APIサーバはセッションのマップ、クライアントのウェブサイトおよびエンドユーザがログインしているかどうかをチェックする。チェックプロセスは2つのトークンによって実行されます。 – DavidbIR

+0

と別のシナリオでは、エンドユーザからの要求なしにクライアントWebサイトのAPIを直接呼び出します。このシナリオでは、認証トークンは存在しません! – DavidbIR

答えて

0

前の回答の拡張..

は(adviced)、APIのmaangerは、クライアントを渡すことができます/ユーザー/アプリケーション情報をJWTトークンとしてバックエンドに送信します。 1つのシナリオのコメント

クライアントのウェブサイトへのユーザーのログインに基づいて拡張答え、それがAPIにユーザーに &パスを渡す:だから確かに、それは

編集API Managerを使用するために良いユースケースですサーバ。したがって、APIサーバーはU &の有効性をチェックします。P

実際には、既定のOAuth(コードまたはパスワードプロファイル)を使用すると有効になります。

また、Authトークンを作成すると、ユーザー用のセッションが作成されます。

ほぼ良好です。トークンが返され、APIマネージャにユーザーセッションはありません。すべての権限は、提供されたトークンに基づいています。

of session、クライアントWebサイトとエンドユーザ がログインしているかどうか。 2つのトークンによって実行されるチェックプロセス

いいえ。 APIMはセッションを確認しません。 OAuth(ベアラ)トークンのみをチェックします。

と直接別のシナリオクライアントのウェブサイトコールAPIで、このシナリオの認証トークンuser.in端から任意の の要求なし(アプリケーション、それを呼び出すことができます)

ウェブサイトを存在していない使用して認証することができます自身の証明書(いわゆるclient_credentialsプロファイル)。独自のOAuthアプリケーショントークンを受け取ることがあります。

+0

ありがとう、私の要求を示すMr Bhathiyaへの私の答えを参照してください! – DavidbIR

+0

@DavidbIRはそれを単純な人に保ちます。 APIMは何らかの方法で作業しており、あなたは真実ではないかもしれないいくつかのことを仮定しています:)編集を参照してください – gusto2

+0

それは私の前提ではない、それは現実のシステムであり、私は抵抗のためにそれに従わなければなりません.. :) 。確かに、私はこの合併症に同意するので、私はAPIマネージャを使用してそれを簡素化したい!あなたの回答に基づいて – DavidbIR

0

同じ機能がAPIMでサポートされています。バックエンドから認証ログインを取り除く(または単純なものに置き換える)だけで、APIM認証を使用することができます。

APIMはOAuth2を使用します。あなたの要件を満たすために、異なる助成金の種類を使用することができます。クライアントのWebサイトでは、クライアント資格情報の認可タイプを使用でき、エンド・ユーザーの場合は、パスワードや認可コードなどの他の認可タイプを使用できます。詳細については

を読む:バックエンドがAPIマネージャの背後にある場合

https://docs.wso2.com/display/AM210/Quick+Start+Guide https://docs.wso2.com/display/AM210/Token+API

+0

お返事ありがとうございます。しかし、APIMをAPIサーバーに渡して処理するのではなく、2番目のトークン(Authトークン)を生成して処理する必要があります。認証トークンをバックエンドに渡す方が良いでしょうか?また私は私のポストを更新します、詳細についてはそれを参照してください。ありがとう! – DavidbIR

+0

@Bhathiya私は賛成します、私は間違った答えを編集しました(あなたの鉱山の代わりに)、編集を拒否してください – gusto2

関連する問題