私は、Web サービスを介してそのメソッドの一部を公開する必要があるプロジェクトに取り組んでおり、RAML に従って Mule を使用し、セキュリティを実装するために OAuth 2.0 が提案されています。「client_id」と「client_secret」についてクライアントを検証できますが、そのために、構成ファイルでのみ資格情報を指定しました。ここで、データベースからクライアントの詳細を取得する必要があります。「preFlow-ref」を使用してみましたが、「client_id」と「client_secret」を取得できる別のフローが呼び出されていますが、OAuth にコールバックを渡す方法がわかりません。
<spring:beans>
<spring:bean id="oauthTokenStore" name="oauthTokenStore" class="database_connection.MyClientStore"/>
</spring:beans>
<oauth2-provider:config
name="oauth2Provider"
providerName="TweetBook"
supportedGrantTypes="CLIENT_CREDENTIALS"
preFlow-ref="apiFlow1"
host="localhost"
port="8083"
authorizationEndpointPath="tweetbook/api/authorize"
accessTokenEndpointPath="tweetbook/api/token"
scopes="READ_PROFILE WRITE_PROFILE READ_BOOKSHELF WRITE_BOOKSHELF">
</oauth2-provider:config>
<apikit:config name="Router" raml="src/main/api/api.raml" consoleEnabled="true" consolePath="console" doc:name="Router"/>
<flow name="apiFlow1">
<set-variable variableName="client_id" value="1234567890abcd" doc:name="Client id"/>
<logger message="entered DB flow" level="INFO" doc:name="Logger"/>
<db:select config-ref="Generic_Database_Configuration" doc:name="Database">
<db:dynamic-query><![CDATA[select client_secret from table1 where client_id = #[flowVars.client_Id]]]></db:dynamic-query>
</db:select>
<logger message="exit db flow" level="INFO" doc:name="Logger"/>
</flow>