RADIUS, Magic Link & Push MFA Authentication Guide
This page shows how authentication actually works in Mideye — step by step, with sequence diagrams. For component descriptions, see System Architecture. For the full list of authentication types, see Authentication Types.
RADIUS authentication (SMS OTP)
Section titled “RADIUS authentication (SMS OTP)”The most common flow. A VPN or firewall sends a RADIUS request to Mideye Server, which validates the password and delivers a one-time password via SMS.
- User enters username and password in the VPN client.
- The VPN sends a RADIUS Access-Request to Mideye Server.
- Mideye Server validates the password against LDAP/AD or the local database.
- Mideye Server sends an OTP delivery request to Mideye Switch.
- The Switch routes the SMS to the user’s phone via telecom providers.
- The user enters the OTP in the VPN client.
- The VPN sends a second RADIUS Access-Request with the OTP.
- Mideye Server validates the OTP.
- If valid, a RADIUS Access-Accept is returned — access granted.
Touch authentication (push)
Section titled “Touch authentication (push)”Touch replaces SMS codes with a push notification. The user taps approve or reject directly in the Mideye+ app — no code entry needed.
- User enters username and password in the VPN client.
- The VPN sends a RADIUS Access-Request to Mideye Server.
- Mideye Server validates the password.
- Mideye Server requests a Touch notification via Mideye Switch.
- The Switch routes the request to the Push Service in the cloud.
- The Push Service sends a push notification to the Mideye+ app (via Apple APNs or Google FCM).
- The user taps Approve (or Reject) in the Mideye+ app.
- The app sends the approval back to the Push Service.
- The result is forwarded through the Switch.
- Mideye Server receives the approval.
- A RADIUS Access-Accept is returned — access granted.
No code entry required. The VPN does not need to support challenge-response for Touch (authentication type 6).
Fallback behavior
Section titled “Fallback behavior”- Touch-Plus (type 7): If the phone isn’t reachable via push, falls back to Plus (manual TOTP from the Mideye+ app) or on-premise TOTP if configured.
- Touch-Mobile (type 8): If push fails, falls back to encrypted SMS to the Mideye+ app. If the phone is completely unreachable, falls back to Plus or on-premise TOTP.
- No Mideye+ app: Users without Mideye+ automatically get an SMS Magic Link instead of Touch.
Magic Link authentication
Section titled “Magic Link authentication”Magic Link provides MFA for web applications via REST API. Instead of entering a code, the user taps Accept or Reject — either via a Mideye+ push notification or by clicking a link in an SMS.
- Your application calls the Magic Link API with the user’s phone number.
- Mideye Server creates a Magic Link session on MAS and waits for the user’s response.
- Mideye Server sends the phone number and authentication request to Mideye Switch.
- Switch determines how to reach the user:
- 4a. If the user has the Mideye+ app, Switch sends a push notification directly.
- 4b. If not, Switch delivers an SMS with a link pointing to MAS.
- If reached via SMS, the user clicks the link and opens the approval page hosted on MAS.
- MAS returns the result to the waiting Mideye Server, which returns it to your application.
API example
Section titled “API example”GET /api/sfwa/auth?msisdn=+46701234567Header: api-key: <your-api-key>
→ {"code":"TOUCH_ACCEPTED"}→ {"code":"TOUCH_REJECTED"}→ {"code":"USER_NOT_RESPONDED"}See Magic Link API for full API documentation.
Assisted Password Reset
Section titled “Assisted Password Reset”A dedicated flow for password resets that requires MFA verification and approval from a designated approver.
- User enters their username on the password reset portal.
- Mideye sends an OTP to verify the user’s identity.
- An approval request is sent to designated approver(s) via Mideye+.
- Once approved, the user can proceed.
- The user sets a new password.
- The password is changed in the connected LDAP/Active Directory.
Rate limiting is built in to protect against abuse.
On-premise TOTP (air-gapped)
Section titled “On-premise TOTP (air-gapped)”For environments without internet access. Users authenticate with a TOTP code generated by an authenticator app or hardware token — no Mideye Switch or cloud services needed.
- User enters username and password.
- The VPN sends a RADIUS Access-Request to Mideye Server.
- Mideye Server validates the password against LDAP/AD.
- Mideye Server sends a RADIUS Access-Challenge asking for the TOTP code.
- User enters the current TOTP code from their authenticator app or hardware token.
- Mideye Server validates the code against the stored seed — entirely locally.
- If valid, a RADIUS Access-Accept is returned.
No network connectivity to Mideye services is required. See Authentication Types for setup details on on-premise TOTP tokens.
Next steps
Section titled “Next steps”- System Architecture — Understand the components behind these flows
- Data Residency — Where your data goes during these flows
- Authentication Types — Detailed reference for all 11 authentication types
- Integration Guides — Connect your VPNs and applications