When an application access token is generated, an OAuth client is created underneath. The consumer key and consumer secret shown under a key type actually belongs to the OAuth client. In previous releases of API Manager, the only way to create an OAuth client was through the API Store. However, there can be situations where an OAuth client is created elsewhere, but needs to be associated with an application in the API Store. For instance, in an organisation where WSO2 Identity Server is used as the authoritative server, OAuth clients may only be created through the Identity Server. Similarly, when a third party OAuth provider is used, users might want to use previously created OAuth clients with the API Manager.
To achieve this, you can provision the OAuth clients created outside the API Store into the API Manager, thereby associating the OAuth client with an application in the API Store. Once the mapping is done, you can use it in the same way as an OAuth client created through the API Store.
The steps below describe how to provision OAuth clients created outside the API Store into the API Manager:
First, create an OAuth client outside the API Store. In this example, we use a standalone API Manager instance and do this via the management console of the API Manager.
In a setup where WSO2 Identity Server is used as the Key Manager, this step is performed in the Identity Server.- Log in to the APIM management console (
https://<Server Host>:9443/carbon
) and click Add under Service Providers. - Give a name for the service provider and click Register.
- Click Configure under Inbound Authentication Configuration > OAuth/OpenId Connect Configuration to add a new OAuth client.
- Provide a callback URL. If you do not have a callback URL, you can clear the Code and Implicit authorization grant types and add the OAuth client.
You have now created the OAuth client and are provided with the OAuth client key and OAuth client secret. Next, enable the option to provide out-of-band keys by opening the
<APIM_HOME>/repository/deployment/server/jaggeryapps/store/site/conf/site.json
file and changing the"mapExistingAuthApps"
setting to true."mapExistingAuthApps" : true
- Log in to the API Store.
- In the My Subscriptions page, notice that you now see a Provide Keys button for your application.
- Click the Provide Keys button, paste the consumer key and consumer secret pair and click Save.
You have successfully provisioned an out-of-band OAuth client.