Request Authentication - Asynchronous Login

In the Hotspot (WISPr) WLAN use case, an unauthorized user is redirected to an external web portal server by the controller. Using the asynchronous login command (RequestType=LoginAsync), the external web portal server sends a request to the controller to authenticate the user using the authentication server.

The external Web portal server receives the response - 202 Authentication pending, while the controller performs the authentication in the background. It is the responsibility of the Web portal to poll the controller and fetch the authentication result. This action is performed using the status command (RequestType=Status).

Note: To use asynchronous APIs refer to Using Asynchronous API

The following is an example of the asynchronous login request:

{
 “Vendor”: “ruckus”,
 “RequestUserName”: "myUserName"
 “RequestPassword”: “myPassword”,
 “APIVersion”: “1.0”,
 “RequestCategory”: “UserOnlineControl”, 
 “RequestType”: “LoginAsync”,
 “UE-IP”: “ENC12bc24c4777703327f2e0aabbf6b9f9e”,
 “UE-MAC”: “ENCCDD319C6A476FA7127DF1FB80A63CD30ADC5E47C3DBE2157”,
 “UE-Proxy”: “0”,
 “UE-Username”: “test”,
 “UE-Password”: “test”
}

The table lists the controller responses to these authentication requests.

Note: The user account test (UE username) mentioned in the above example, has been created as an external user in the authentication server. The hotspot portal does not provide an interface for manipulating user account information.

Controller responses to authentication (asynchronous login) requests

Response Type Possible Responses
Normal response
  • 101, Client authorized: Response if the user is already authorized.
  • 202, Authentication pending: Authentication is in progress, portal server needs to check the result later.
Service error
  • 300, Not found: Response if the lookup fails with given UE-MAC or UE-IP address.
  • 400, Internal server error: Response when the controller internal error occurs.
General error
  • 302, Bad request: Response if the JSON request is not well-formed.
  • 303, Version not supported: Response if there is a version mismatch.
  • 304, Command not supported: Response if the request type is not supported.
  • 305, Category not supported: Response if the request category not supported.
  • 306, Wrong request password: Response if the request password is mismatched.