...
You can build the project (mvn clean install) for this handler by accessing its source here:
https://svngithub.com/wso2.org/reposproduct-esb/wso2/carbon/platform/tags/turing-chunk07/products/esb/4.8.1/modules/samples/integration-scenarios/starbucks_sample/BasicAuth-handlertree/v4.9.0/modules/samples/integration-scenarios/starbucks_sample/BasicAuth-handler
Note | |||||
---|---|---|---|---|---|
When building the sample using the source ensure you update
|
Alternatively, you can download the JAR file from the following location, copy it to the repository/component/lib directory, and restart the ESB:
https://svn.wso2.org/reposgithub.com/wso2/carbon/platform/tags/turing-chunk07/products/esb/4.8.1product-esb/blob/v4.9.0/modules/samples/integration-scenarios/starbucks_sample/bin/WSO2-REST-BasicAuth-Handler-1.0-SNAPSHOT.jar
You can now send a request to the secured API. For example, you can send it using cURL as the REST client:
...
- In the ESB Management Console, go to Manage -> Service Bus and click Source View.
Insert the following XML configuration into the source view before the closing
</definitions>
tag to create the TestGoogle API:Code Block language html/xml <api xmlns="http://ws.apache.org/ns/synapse" name="TestGoogle" context="/search"> <resource methods="GET"> <inSequence> <log level="full"> <property name="STATUS" value="***** REQUEST HITS IN SEQUENCE *****"/> </log> <send> <endpoint> <http method="get" uri-template="https://www.google.lk/search?q=wso2"/> </endpoint> </send> </inSequence> </resource> <handlers> <handler class="org.wso2.handler.SimpleOAuthHandlerSimpleOauthHandler"/> </handlers> </api>
Notice that the
<handlers>
tag contains the reference to the custom handler class.- Copy the custom
handler.jar
to the<ESB_HOME>/repository/components/libs
directory. Open
<ESB_HOME>/repository/conf/axis2/axis2.xml
and add the following parameters:Code Block language html/xml <!-- OAuth2 Token Validation Service --> <parameter name="oauth2TokenValidationService">https://localhost:9444/services/OAuth2TokenValidationService</parameter> <!-- Server credentials --> <parameter name="identityServerUserName">admin</parameter> <parameter name="identityServerPw">admin</parameter>
- Restart the ESB.
...
- Start WSO2 Identity Server and log into the management console.Click Manage -> OAuth and create an OAuth application
- On the Main tab, click Add under Service Providers, and then add a service provider.
- Note the access token URL and embed it in a cURL request to get the token. For example, use the following command and replace
<client-id>
and<client secret>
with the actual values:
curl -v -k -X POST --user <client-id>:<client secret> -H "Content-Type: application/x-www-form-urlencoded;charset=UTF-8" -d 'grant_type=password&username=admin&password=admin' https://localhost:9444/oauth2/token
...
Code Block | ||
---|---|---|
| ||
curl -v -k -H "Authorization: Basic YWRtaW46YWRtaW4=" https://localhost:8243/stockquote/view/IBM |
...