LL::NG portal is a REST server that gives access to configuration, session and also authentication.
The authentication service is always available with REST, you just need to send credentials on portal URL. But by default, the portal is protected by one time tokens to prevent CSRF. You must disable them or set a rule (configuration parameter requireToken) so token will not be required for REST requests, for example:
$env->{HTTP_ACCEPT} !~ m:application/json:
Another solution is using the REST auth/user/password backend.
Request parameters:
The JSON response fields are:
Tip
You can also get the cookie by reading the response header Cookie returned by the portal.
Attention
Before version 2.0.4, the response to a success authentication had no id field, and error field was named code.
curl -H "Accept: application/json" -d user=rtyler -d password=rtyler http://auth.example.com/ | json_pp
Attention
With cURL > 7.18.0, to include special characters like @, & or + in the cURL POST data:
curl -H "Accept: application/json" -d name=rtyler --data-urlencode passwd=@31&3+*J http://auth.example.com/ | json_pp
{
"result" : 0,
"error" : 5
}
{
"result" : 1,
"error" : "0",
"id" : "b048bf87ca401da1d89419813e3acf466d5e4465fe3a1f7adfd8240bd161bde2"
}
REST functions for sessions are protected by Web Server, you can change this in portal configuration.
See REST session backend documentation for more.
REST functions for configuration are protected by Web Server, you can change this in portal configuration.
See REST configuration backend documentation for more.