External authentication

Data structures

ExternalAuthenticationModel
Parameter Type Description
id int Object identifier. Read only.
type string {cerb, radius, ldap, ad}  
cerb ExternalAuthenticationCerbModel Cerb object definiton
radius ExternalAuthenticationRadiusModel Radius object definiton
ldap ExternalAuthenticationLdapModel LDAP object definiton
ad ExternalAuthenticationAdModel Active Directory object definiton
ExternalAuthenticationCerbModel
Parameter Type Description
host string Ip address of service provider; required
port int Port value of service provider; required
bindto string Bind address. Include labels like ‘fudo:label:test’ or ip address
nasid string Correct value of NAS id of cerb provider; required
secret string Password to cerb provider; required; write-only
ExternalAuthenticationRadiusModel
Parameter Type Description
host string Ip address of service provider; required
port int Port value of service provider; required
bindto string Bind address. Include labels like ‘fudo:label:test’ or ip address
nasid string Correct value of NAS id of cerb provider; required
secret string Password to cerb provider; required; write-only
ExternalAuthenticationLdapModel
Parameter Type Description
host string Ip address of service provider; required
port int Port value of service provider; required
bindto string Bind address. Include labels like ‘fudo:label:test’ or ip address
ldap_binddn string Bind domain to LDAP provider; required
ssl bool Set if you want to use ssl to authenticate; default == false
ssl_cert string Valid SSL certificate. Required if ssl property set True; default == null
ExternalAuthenticationAdModel
Parameter Type Description
host string Ip address of service provider; required
port int Port value of service provider; required
bindto string Bind address. Include labels like ‘fudo:label:test’ or ip address
ad_domain string Bind domain to AD provider; required
ssl bool Set if you want to use ssl to authenticate; default == false
ssl_cert string Valid SSL certificate. Required if ssl property set True; default == null

Retrieving external authentication methods list

Request

Method
GET
Path
/api/system/extauth

Note

Results pagination

Every GET request, which returns a collection of objects can be optionally paginated. To achieve it add a pagination parameter to the request path:

/api/system/objects?page=3&page_size=10
Pagination parameters
page int
page_size int

Possible Response

Status
200 OK
Headers
Content-Type: Application/JSON
Body
[
ExternalAuthenticationModel,
...
]

Example:

    curl -k -X GET -H "Content-Type:application/json"
    https://10.0.150.150/api/system/extauth?sessionid={{sessionid}} -d

    Result: {"ad": [
    {
        "id": 2594073385365405697,
        "type": "ad",
        "host": "10.0.150.150",
        "port": 389,
        "bindto": null,
        "ad_domain": "default",
        "ssl": false,
        "ssl_cert": ""
    }
],
"radius": [
    {
        "id": 2594073385365405699,
        "type": "radius",
        "host": "10.0.150.150",
        "port": 1645,
        "bindto": null,
        "nasid": "cerb"
    }
],
"ldap": [
    {
        "id": 2594073385365405700,
        "type": "ldap",
        "host": "10.0.150.150",
        "port": 389,
        "bindto": null,
        "ldap_binddn": "dc=admin4,dc=default,dc=defaultt",
        "ssl": false,
        "ssl_cert": ""
    }
],
"cerb": [
    {
        "id": 2594073385365405698,
        "type": "cerb",
        "host": "10.0.150.150",
        "port": 1812,
        "bindto": "10.0.150.160",
        "nasid": "cerb"
    }]}

Modifying external authentication method

Request

Method
PUT
Path
/api/system/extauth/id

Possible Response

Status
200 OK
Headers
Content-Type: Application/JSON
Body
ExternalAuthenticationModel

Example:

curl -k -X PUT -H "Content-Type:application/json"
https://10.0.150.150/api/system/extauth/2594073385365405697?sessionid={{sessionid}} -d
{
    "host": "10.0.150.150",
    "port": 388,
    "ad_domain": "default"
}

Creating an external authentication method

Request

Method
POST
Path
/api/system/extauth
Headers
Content-Type: Application/JSON
Body
ExternalAuthenticationModel

Possible Response

Status
201 CREATED
Headers
Content-Type: Application/JSON
Body
ExternalAuthenticationModel
Description
Object successfully created. Resultant object's attributes
are included in response body.

Possible Response

Status
400 BAD REQUEST
Headers
Content-Type: Application/JSON
Body
ValidationErrors
Description
Validation didn't pass.

Example:

curl -k -X POST -H "Content-Type:application/json"
https://10.0.150.150/api/system/extauth?sessionid={{sessionid}} -d
{
    "type": "ad",
    "host": "10.0.150.150",
    "port": 388,
    "ad_domain": "default"
}

Deleting an external authentication method

Request

Method
DELETE
Path
/api/system/extauth/id

Example:

curl -k -X DELETE
https://10.0.150.150/api/system/extauth/2594073385365405697?sessionid={{sessionid}}