GluuFederation / oxTrust

Gluu Server UI for managing authentication, authorization and users.
https://gluu.org/docs/ce
MIT License
134 stars 61 forks source link

Gluu Radius oxTrust Integration #1637

Closed uprightech closed 5 years ago

uprightech commented 5 years ago

Design A User Interface and a REST API in oxTrust for Gluu Radius Server

The objective here is to design a user interface and REST API for Gluu Radius Server. The items we will like to have configurable are the following:

1 - Data Structures Description

The LDIF file containing the data description can be found here. From now on , data structrure is just a way of talking about an LDIF entry. There are two data structures which are of interest:

1.1 oxRadiusServerConfiguration

This is the main radius server configuration. It has the following attributes:

1.2 oxRadiusClient

This is the configuration for a Radius client. Each radius client connecting to the radius server for authentication uses a client secret , and the server checks if the configured ip address of the client corresponds to the ip address of the radius client. The data structure has the following attributes:

2 - UI Mockups

Below are the UI Mockups and corresponding actions where they come in play.

2 - 1 Side Nav Item For Gluu Radius

A sidebar nav Item will be created for Gluu Radius , with the following subnav Items

2 - 2 Server Configuration Tab

The user gets here by clicking on the Configuration Sub-nav and selecting the Server Configuration tab if it's not selected. There are just two entries here for the server's listen ports. Radius Server Settings

2 -3 OpenID Config Tab

The user gets here by clicking on the Configuration Sub-nav and selecting the OpenID Config tab if it's not selected. Here , a couple items are configurable.

2 - 4 Radius Clients Page

The user gets here by clicking on the Radius Clients Sub-nav. This displays a list of Radius Clients (searcheable) and also contains a action html elements to add a new client , view/edit an existing client's configuration or delete a client. Radius Clients

2 - 5 Add Radius Client Page

The user gets here by clicking on Add Radius Client on the Radius Clients Page. This displays a form which can be used to add a radius client. Add Radius Client

2 - 6 Edit Radius Client Page

The user gets here by clicking on a Radius Client on the Radius Clients Page. This displays a form with at least the client's ID filled , with the other fields editable. Edit Radius Client

nynymike commented 5 years ago

Nice design. Can we use wildcards for IP address? It might be hard for a RADIUS client to know it's IP address. Ideally, admins would be able to use a subnet mask. Also, the RADIUS config should be hidden if the RADIUS server is not installed as part of setup.

uprightech commented 5 years ago

The usage of wildcards is totally possible. May need a few modifications at the level of gluu radius , but we should be fine. I'll copy/steal a couple of ip configuration patterns from existing radius software. Thanks for that suggestion !