← All work
Capability · 2014–15

OAuth Login Panel with RouterOS Network Control

Overview

A Symfony 2.4 panel that combines OAuth/social login (via HWIOAuthBundle and FOSUserBundle) with direct control of MikroTik RouterOS network devices, effectively a captive-portal / access-management panel where authenticating via a social provider grants network access.

The Challenge

Hotspot and wireless access control typically means a clunky captive portal. The goal was to let users authenticate through familiar OAuth providers and then programmatically open network access for them by talking to the router directly.

What We Built

A Symfony 2.4 application integrating HWIOAuthBundle for multi-provider OAuth and FOSUserBundle for accounts, the pear2/net_routeros client (with pear2/cache_shm) to drive the MikroTik RouterOS API, Browscap for device/browser detection, a Facebook integration, StatsD metrics and Sentry (Raven) error reporting. A single custom bundle under src/ ties the auth flow to network actions.

Technologies & Approach

HWIOAuthBundle (integrated, not authored) handled the OAuth handshake; the RouterOS API client bridged web auth to real network hardware. Browscap and StatsD added device awareness and operational metrics, with Sentry for production error visibility.

Outcome / Impact

Demonstrated an end-to-end pattern linking social authentication to physical network access control, bridging web application logic and networking hardware, a less common full-stack combination.

Capabilities Demonstrated

  • Integrating multi-provider OAuth (HWIOAuthBundle) and user management
  • Automating network hardware via the MikroTik RouterOS API
  • Building captive-portal style access-control flows
  • Adding StatsD metrics and Sentry error tracking to a service
More work See all →