Provisioning Out-of-Band OAuth Clients
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. 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 organization 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.Â
Note that when you delete an application after Out-of-Band Oauth client is provisoned, the underlying OAuth client is not deleted. It just deletes the association of the OAuth client with the application. Therefore that OAuth client will be able to create an association to another application, which means we can map the same OAuth clients' keys to a new application created in the API Store.
The steps below describe how to provision OAuth clients created outside the API Store into the API Manager:
In this example, we use a standalone API Manager instance and do this via the management console of the API Manager.Â
Sign in to the WSO2 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 unselect the Code and Implicit authorization grant type checkboxes and add the OAuth client.
As you have now created the OAuth client, the OAuth client key and OAuth client secret appears. 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 totrue
."mapExistingAuthApps" : true
- Sign in to the WSO2 API Store.
https://<Server Host>:9443/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, which you received in step 4, and click Save.Â
You have successfully provisioned an out-of-band OAuth client.Â