Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerOAuth2 Provider Module では、Mule Runtime Engine (Mule) アプリケーションを OAuth2 認証フレームワークの認証マネージャーとして設定できます。 このモジュールを使用して、アプリケーションは、クライアントの登録、登録済みのクライアントの認証、トークンの付与、トークンの検証、クライアントの削除を行うことができます。 次の例は、クライアントログイン情報を作成および検証する Create client および Validate token 操作の設定方法を示しています。
Studio で、HTTP [Listener] 操作を Studio キャンバスにドラッグします。
[Path (パス)] を /createClient
に設定します。
[Connector configuration (コネクタ設定)] を目的の HTTP 設定に設定します。
[Create client] 操作を HTTP [Listener] 操作の横にドラッグします。
[Module configuration (モジュール設定)] を目的の OAuth2 Provider Module 設定に設定します。
次のパラメーターを設定します。
Client id (クライアント ID): attributes.headers.client_id
Type (種別): CONFIDENTIAL
Secret (シークレット): attributes.headers.client_secret
Client name (クライアント名): attributes.headers.client_name
Description (説明): ""
Principal (プリンシパル): ""
Redirect uri (リダイレクト URI): "demo.com"
Authorized grant types (認証済み許可種別): "CLIENT_CREDENTIALS"
[Set Payload] コンポーネントを [Create client] 操作の横にドラッグします。
[Value (値)] を Client Created
(クライアント作成済み) に設定します。
新しい HTTP [Listener] ソースを新しいフローにドラッグします。
[Path (パス)] を /validate
に設定します。
[Validate token] 操作を [Listener] ソースの横にドラッグします。
[Module configuration (モジュール設定)] を目的の OAuth2 Provider Module 設定に設定します。
[Access token (アクセストークン)] を (attributes.headers['authorization'] splitBy ' ')[1]
に設定します。
[Transform Message] コンポーネントを [Validate token] 操作の横にドラッグします。
出力表示に次の DataWeave コードを追加します。
%dw 2.0
output application/json
---
{
"Message": "Successfully validated"
}
dataweave
Mule アプリケーションを保存して実行します。
Mule アプリケーションをテストするには、次のコマンドを実行します。
http://oauthtest01.us-e2.cloudhub.io/createClient
メソッド: GET
パラメーター: client_id、client_secret、client_name
たとえば、client_id = 123
、client_secret = 1234
、client_name = abc
の値で GET パラメーター項目を設定します。
次の結果が返されます。
{ "Message": "Client Created" }
xml
http://oauthtest01.us-e2.cloudhub.io/token
メソッド: POST
パラメーター: client_id、client_secret、grant_type
たとえば、client_id = 123
、client_secret = 1234
、grant_type = CLIENT_CREDENTIALS
の値で POST パラメーター項目を設定します。
次の結果が返されます。
{"access_token":"s143Barj7xpQP3_AGWvHRyZxFNEcgJ55XB1I3Yquj8kgem2qxqa5TpouLG3gQCr2sj170Ci1MqLd5gzF4AUpRQ", "token_type":"Bearer", "expires_in":86400}
xml
別のオプションとして、検証コマンドを実行します。
http://oauthtest01.us-e2.cloudhub.io/validate
メソッド: GET
パラメーター: Authorization
応答データから受け取った token_type
(つまり、「Bearer」) を配置します。
スペースを追加します。
応答データから受け取った access_token
を追加します。
たとえば、Authorization が Bearer に等しいとします。
Bearer s143Barj7xpQP3_AGWvHRyZxFNEcgJ55XB1I3Yquj8kgem2qxqa5TpouLG3gQCr2sj170Ci1MqLd5gzF4AUpRQ
xml
次の結果が返されます。
{ "Message": "Successfully validated" }
xml
応答が無効な場合、結果は次のようになります。
The token received: s143BarjxpQP3_AGWvHRyZxFNEcgJ55XB1I3Yquj8kgem2qxqa5TpouLG3gQCr2sj170Ci1MqLd5gzF4AUpRQ, is not valid.
xml