Customizing the API Store
You can customize the API Store in the following ways:
Enabling or disabling self signup
In a multi-tenanted API Manager setup, self signup to the API Store is disabled by default to all tenants except the super tenant. A tenant admin can enable it as follows:
- Log in to the management console (
https://<HostName>:9443/carbon
) as admin (or tenant admin). - In the Main menu, click Add under Users and Roles.
Click Add New Role.
- Add a role by the name subscriber (or any other name you prefer) and the following permissions:
- Login
- Manage > API > Subscribe
- Go to the Resources > Browse menu.
Load the
/_system/governance/apimgt/applicationdata/sign-up-config
resource in the registry browser UI.Do the following changes in the signup configuration and save.
- Set
<EnableSignup>
totrue.
- Set
<RoleName>
tosubscriber
and<IsExternalRole>
totrue
. Note that you must have the subscriber role created at this point. - Set
<AdminUserName>
and<AdminPassword>
to the credentials of the super admin, or if you are in a multitenant setup and you are not the super admin, to the tenant admin's credentials. Note that the super admin's credentials are admin/admin by default. If you changed the default super admin's credentials, using admin/admin will cause errors.
<SelfSignUp> <EnableSignup>true</EnableSignup> <!-- user storage to store users --> <SignUpDomain>PRIMARY</SignUpDomain> <!-- Tenant admin information. (for clustered setup credentials for AuthManager) --> <AdminUserName>xxxx</AdminUserName> <AdminPassword>xxxx</AdminPassword> <!-- List of roles for the tenant user --> <SignUpRoles> <SignUpRole> <RoleName>subscriber</RoleName> <IsExternalRole>true</IsExternalRole> </SignUpRole> </SignUpRoles> </SelfSignUp>
- Set
Restart the server and open the API Store (
https://<HostName>:9443/store
.)- Note the Sign-up link that appears in the top, right-hand corner of the window.
- To disable the self signup capability, navigate to the
/_system/governance/apimgt/applicationdata/sign-up-config.xml
file in the registry again and set the<SelfSignUp><EnableSignup>
element to false.
Tip: To engage your own signup process, see Adding a User Signup Workflow.
Changing the theme
See Adding a new API Store Theme.
Changing language settings
To change the language of the API Store, see Adding Internationalization and Localization.
Setting single login for all apps
Single sign-on (SSO) allows users who are logged in to one application to automatically log in to multiple other applications using the same credentials. They do not have to repeatedly authenticate themselves. To configure, see Configuring Single Sign-on with SAML2.
Categorising and grouping APIs
API providers add tags to APIs when designing them using the API Publisher. Tags allow API providers to categorise APIs that have similar attributes. Once a tagged API gets published to the API Store, its tags appear as clickable links to the API consumers, who can use them to quickly jump to a category of interest. The font size of the tag in the Store varies based on the number of APIs that are assigned to it. Therefore, for example the font size of a tag which has 10 APIs assigned to it will be bigger than the font size of a tag that has only 2 APIs assigned to it.
If you want to see the APIs grouped according to different topics in the API Store, do the following:
- Go to
<APIM_HOME>/repository/deployment/server/jaggeryapps/store/site/conf
directory, open thesite.json
file and set thetagWiseMode
attribute as true. - Go to the API Publisher and add tags to APIs with the suffix "-group" to APIs (e.g., Workflow APIs-group, Integration APIs-group, Quote APIs-group.)
- Restart the server.
- Log in to the API Store and note the APIs listed under their groups. You can click on a group to check what the APIs are inside it.
Customizing the API group
If you want to change the descriptions and the thumbnail images that come by default, do the following:
- Log in to the Management Console and click the Resources -> Browse menu to open the registry.
- Create a collection named
tags
under the registry location/_system/governance/apimgt/applicationdata
. - Give read permission to the
system/wso2.anonymous.role
role. - Add each tag as collections under the tags collection (e.g., Workflow APIs-group, Integration APIs-group, Quote APIs-group.)
- Navigate to each tag collection and upload the following:
- description.txt with the description of the tag
- thumbnail.png for the thumbnail image
- Back in the API Store, note the changes you did in the registry.