FortiWLC 4200 WLC 500D External Captive Portal with Aruba ClearPass - RADIUS authentication succeeds but controller shows Authentication Failed
Hi everyone,
I'm trying to integrate FortiWLC 8.6-5 build-8 (FortiWLC-500D) with Aruba ClearPass Guest (ClearPass Policy Manager 6.12.7.308288 on C3010 platform) as an external captive portal.
Current setup
- FortiWLC 8.6-5 build-8
- External captive portal: Aruba ClearPass Guest
- Authentication type: RADIUS
- Captive Portal External Server Type: Fortinet-Presence
- External URL:Â Â https://<clearpass fqdn>/guest/guest_register_3.php
The captive portal profile is configured as:
Authentication Type: radius
Captive Portal External Server Type: Fortinet-Presence
Success Redirect URL: https://<default redirect url>
Login flow
Client connects to SSID.
FortiWLC redirects the client to the ClearPass Guest portal.
The login page receives all FortiWLC parameters correctly, including:
magic
usermac
userip
serverip
apmac
apid
apnodeid
ssid
post=https://<controllerip>:8081/vpn/loginUser?
Â
User enters username/password.
ClearPass successfully authenticates the user against the authentication source.
After successful authentication, ClearPass returns:
<meta http-equiv="refresh"
content="0; url=https://<controller ip>:8081/vpn/loginUser">
The browser is redirected to:
https://<controller ip>:8081/vpn/loginUser
which returns HTTP 200 OK.
Â
Problem
Although authentication succeeds in ClearPass, the client is immediately shown:
Authentication Failed on the captive portal.
It appears that FortiWLC is not marking the client as authenticated, even though ClearPass has already validated the credentials.
Things verified
RADIUS authentication succeeds in ClearPass.
Username/password are correct.
Controller receives the redirect to /vpn/loginUser.
HTTP 200 is returned.
Username field is configured as:
userid
Password field is:
password
My question
Should ClearPass simply redirect the browser to:
https://<controller>:8081/vpn/loginUser
after successful authentication,
or is it expected to:
POST additional parameters back to /vpn/loginUser?
send a RADIUS CoA?
send a Vendor-Specific Attribute?
call another FortiWLC API to notify the controller that authentication has completed?
At the moment it feels like:
Browser
  ↓
ClearPass authenticates user ✔
  ↓
Redirect to /vpn/loginUser ✔
  ↓
FortiWLC never transitions the client to AUTHENTICATED
  ↓
Authentication Failed
Â
When we see the device logs in fortiWLC cli, show station mac address <mac>
we get only webauth in L3 security state nothing else
Â
Has anyone successfully integrated FortiWLC 8.6 with Aruba ClearPass Guest as an external captive portal?
If so, what is the expected authentication completion process after ClearPass validates the user?
I would also appreciate any working ClearPass login page examples or FortiWLC external captive portal configurations.
Â
Â
