2017-05-31 13 views
0

私はDOC https://docs.wso2.com/display/IS500/Writing+a+Custom+OAuth+2.0+Grant+TypeWSO2カスタムグラントの種類

を追ってきた今、私は私の新しいグラントの種類を作成したことを、私はそれぞれの環境に設定へのそれが簡単に作るのですか必要です。

カスタムグラントタイプにカスタムプロパティを追加するにはどうすればよいですか?

これらのプロパティを使用して、コードを再構築することなく、個別の環境(本番、QA、開発など)でカスタムgrant_typeを展開する必要があります。

たとえば、私の許可タイプは、証明書を有効にするためにRESTエンドポイントに要求しますが、このエンドポイントは環境ごとに異なります。

答えて

1

grant_typeのプロジェクトを作成するときは、要求に応じていくつでもクエリパラメータを追加できます。

あなたの環境に1つのカスタムパラメータを追加して、このパラメータに基づいてカスタムRANGEプロジェクトのロジックを追加して、異なるRESTエンドポイントを別々に呼び出すことができます。私は私の最初の応答を編集し、当社の通信上の

ベース:あなたは、私が使用することをお勧めなカスタムクエリパラメータはMOBILENUMBER = 0333444

EDITで続いドキュメントで

あなたはcarbon.xmlファイルからHostNameプロパティを返しますorg.wso2.carbon.utilsのjarライブラリからNetworkUtils.getLocalHostname()を使用することができます。

+0

これは安全ではないと思います。クライアントは、意図的に間違ったパラメータを送信し、例えば開発中のRESTエンドポイントで検証された有効なトークンを受け取ることができ、プロダクション環境APIを自由に呼び出すことができます。 –

+0

あなたの製品を安全にするためには、何らかの種類のパラメータ検証を実装する必要があります。検証プロセスが失敗した場合は、トークンを生成して返すべきではありません。この場合は、何らかのエラーを返す必要があります。 また、開発環境とQA環境は公開されていないDMZにある必要があります。あなたは誰のためにトークンを生成するでしょうか?ユーザ用のトークンを生成する場合は、システムパラメータとユーザパラメータ(ユーザ名や電子メールなど)の組み合わせに基づいて、そのユーザがシステムに存在するかどうかをチェックする必要があります。 –

+0

私が必要とするのは、コードを再構築せずに自分のGrant_typeの設定を切り替える方法です。クライアントは、正しい構成の要求に応答する必要はありません。 –