The implicit grant type does not require client authentication, and relies on the presence of the resource owner and the registration of the redirection URI. The resource owner is authenticated by the authorization server to obtain the access token. The access token is encoded into the redirection URI. This may be exposed to the resource owner and other applications residing inside the same device.
The diagram below depicts the flow of Implicit Grant.
The client requests for the access token with the client ID and grant type, and other optional parameters.
Since the resource owner authenticates directly with the authorization server, their credentials will not be shared with the client.
The Authorization Server sends the access token through a URI fragment to the client.
The client extracts the token from the fragment and sends the API request to the Resource Server with the access token.
The refresh token will not be issued for the client with this grant, as the client type is public. Also note that, Implicit grant does not include client authentication using client secret of the application
The following parameters are required to implement the Implicit grant type in WSO2 API Manager.
|scope||The OAuth scope you are requesting for the particular token||
|response_type||The required response format||
|redirect_uri||The URL of the Oauth application requesting for the token||
|nonce||Any random value||
|client_id||Client ID of the OAuth application||
An example is given below :
Try implicit grant to generate tokens¶
In this example we use the WSO2 Playground app, which is hosted as a web application, to obtain the access token with implicit grant.
Before you begin
The following instructions use the sample playground webapp. For instructions on how to set up the sample webapp, see Setting up the Sample Webapp .
Login to WSO2 API Manager Store and create an application as shown below.
Go to the Production keys tab for the application. Add https://localhost:8443/playground2/oauth2client as the Callback URL. Select Implicit from the list of grant types and click Generate Keys .
The Implicit grant and Code grant type checkboxes are disabled by default in the UI. To enable selecting the checkboxes, enter the Callback URL for the application.
Go to playground app https://localhost:8443/playground2/index.jsp and click import photos.
Give the information in the table below and click Authorize .
Field Sample value Authorization Grant Type Implicit Client Id Consumer Key obtained for your application Scope The scope you have selected for your applicaton Implicit Response Type ID token Only or ID token & Access Token Callback URL The callback URL of your application Authorize Endpoint
The playground application redirects to the login page. Enter you username and password and click Sign In.
Select Approve Once or Approve Always to provide access to your profile information.
You will receive the access token as follows
For users to be counted in the Registered Users for Application statistics , which takes the number of users shared each of the Application, they have to generate access tokens using Password Grant type.
If you want to disable the Implicit grant type in the APIM instance, add the following entry to the
deployment.toml file in the
[oauth.response_type.token] enable = false [oauth.response_type.id_token] enable = false [oauth.response_type.id_token_token] enable = false