0

我正在开发一个项目,在该项目中我需要通过 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>
4

0 回答 0