Setup social and other Oauth/Saml integration with Keycloak Radius embedded server
- Authorization through Keycloak occurs by OpenID Connect.
- User selects on the login page the identity provider through which he wants to log in
- The result of a successful authorization is a JWT that contains a temporary session key.
- With this key, the User is authorized through Radius Server.
- Radius Server checks if this key is in the user session. And whether it was used.
- Radius Server successfully authorizing the user
- Create Realm
- create Radius Client
- create OpenId client
- Setting your Hotspot DNS in "Valid Redirect URIs" and "Web Origins"
- add "Radius Session Password" Mapper
- Download keycloak.json
- Upload all files from hotspot/mikrotik to flash/hotspot on device (authorization.js and login.html)
- Using web UI
- Using scp
- Using ftp
- Using winbox
- Download keycloak.json
- upload keycloak.json into flash/hotspot on device
- update Walled Garden. Add your keycloak host
- Install Keycloak with embedded Radius Server
- install ngrok. Register ngrok
./ngrok authtoken <YOUR TOKEN>
- start ngrok
./ngrok http 8090
- open keycloak goto realm and add Facebook Identity Provider
- Copy Redirect URI
- goto https://developers.facebook.com/ and create a new application
- Insert Redirect URI from Step 7
- Get App Id and Secret from application (Settings->basic)
- back to Keycloak and set this App Id and Secret
- add facebook hosts to Walled Garden
/ip hotspot walled-garden
add comment=facebook dst-host=facebook.*
add comment=facebook dst-host=*.facebook.*
add comment=facebook dst-host=*.fbcdn.*
add comment=facebook dst-host=*akamai*
add comment=facebook dst-host=*atdmt*
add comment=facebook dst-host=*fbsbx*
add comment=common dst-host=www.google-analytics.com
node and npm must be installed
macbook instalation brew : brew install node
Install node on ubuntu
- cd ./source
- npm i
- npm run build
result in ./mikrotik