我正在开发一个项目,我需要通过Web服务公开它的一些方法,并且我正在使用Mule跟随RAML并实现安全性,已经提出了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>