Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dexterlabora/MerakiCaptivePortal-firebaseDB
A Meraki Captive Portal demo, which performs all client login logic within the public HTML/JS pages. The login data will be saved into a Google Firebase DB
https://github.com/dexterlabora/MerakiCaptivePortal-firebaseDB
Last synced: 3 months ago
JSON representation
A Meraki Captive Portal demo, which performs all client login logic within the public HTML/JS pages. The login data will be saved into a Google Firebase DB
- Host: GitHub
- URL: https://github.com/dexterlabora/MerakiCaptivePortal-firebaseDB
- Owner: dexterlabora
- License: apache-2.0
- Created: 2017-06-21T08:41:25.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-04-18T20:56:02.000Z (almost 6 years ago)
- Last Synced: 2024-08-03T01:15:13.055Z (6 months ago)
- Language: HTML
- Size: 174 KB
- Stars: 2
- Watchers: 4
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-merakiapis - MerakiCaptivePortal-firebaseDB - A Meraki Captive Portal demo, which performs all client login logic within the public HTML/JS pages. The login data will be saved into a Google Firebase DB. (External Captive Portals excap / Contents)
README
# Meraki Captive Portal
*w/ Firebase Hosting and Database**Static HTML/JS/CSS Site for a Click-through Splash Page*
## Overview
Cisco Meraki provides cloud managed WiFi with the ability to host your own "Splash Page", which is a captive portal service for authenticating users to join the network. This concept is called an External Captive Portal (ExCaP).Meraki provides two splash page modes, **click-through** and **sign-on**. This application will use the click-through method.
### Sample URL received from Meraki to this page.
*You can use this URL to test your application without an access point*
```
http://YourAppName.firebaseapp.com/?base_grant_url=https%3A%2F%2Fn143.network-auth.com%2Fsplash%2Fgrant&user_continue_url=http%3A%2F%2Fspeedof.me%2F&node_id=149624922840090&node_mac=88:15:44:60:1c:1a&gateway_id=149624922840090&client_ip=10.255.60.208&client_mac=f4:5c:89:9b:17:67
```## Installation
* Clone this repo and change into the directory
```
$ git clone https://github.com/dexterlabora/MerakiCaptivePortal-firebaseDB.git
```
* Update your Firebase Config settings in `./js/MerakiFirebase.js`. This information is found in your Google Firebase Console.
```
// Initialize Firebase -- UPDATE THIS
var config = {
apiKey: "YourAPIKey",
authDomain: "YourAppName.firebaseapp.com",
databaseURL: "https://YourAppName.firebaseio.com",
projectId: "YourProjectID",
storageBucket: "YourAppName.appspot.com",
messagingSenderId: "YourSenderId"
};
```
* Install and configure Google Firebase Hosting*NodeJS must be installed for the `npm` command to work*
```
$ npm install -g firebase-tools
$ firebase init # Generate a firebase.json (REQUIRED)
$ firebase serve # Start development server
$ firebase deploy # Push changes to Firebase Hosting
```
* Configure the Meraki wireless SSID with a Click-Through splash page authentication
* Meraki Dashboard --> Configure --> Splash Page: Click-through
* Add the domain address of the webserver to the "Walled Garden"
* Meraki Dashboard --> Configure --> Access Control --> SSID:yourSSID --> Walled Garden.
* Note: You will need to use the IP address instead of the domain name or contact Meraki Support to enable Walled Garden Domain Names
* Point the Meraki Splash page "Customer URL" to the HTML file. `https://yourserver/`
* Meraki Dashboard --> Configure --> Splash Page --> Custom URL: `https://yourserver.com/index.html`## Sample URL paramater string
```
https://yourserver/splash.html?base_grant_url=https%3A%2F%2Fn143.network-auth.com%2Fsplash%2Fgrant&user_continue_url=http%3A%2F%2Fask.com%2F&node_id=149624921787028&node_mac=88:15:44:50:0a:94&gateway_id=149624921787028&client_ip=10.110.154.195&client_mac=60:e3:ac:f7:48:08:22
```## Screenshot
![alt screenshot](screenshot.png)## Additional Resources
http://developers.meraki.com/tagged/Splash-Pages### Written by
Cory Guynn
2017
www.InternetOfLEGO.com## LICENSE
Apache 2.0 (see [LICENSE](./LICENSE) and [NOTICE](./NOTICE)).