2017-02-24 07:07:50 +01:00
<!DOCTYPE html>
< html lang = "en" dir = "ltr" >
< head >
< meta charset = "utf-8" / >
< title > documentation:2.0:authrest< / title >
< meta name = "generator" content = "DokuWiki" / >
2018-03-08 13:29:31 +01:00
< meta name = "robots" content = "index,follow" / >
2017-02-24 07:07:50 +01:00
< meta name = "keywords" content = "documentation,2.0,authrest" / >
< link rel = "search" type = "application/opensearchdescription+xml" href = "lib/exe/opensearch.html" title = "LemonLDAP::NG" / >
< link rel = "start" href = "authrest.html" / >
< link rel = "contents" href = "authrest.html" title = "Sitemap" / >
< link rel = "stylesheet" type = "text/css" href = "lib/exe/css.php.t.bootstrap3.css" / >
<!-- //if:usedebianlibs
< link rel = "stylesheet" type = "text/css" href = "/javascript/bootstrap/css/bootstrap.min.css" / >
//elsif:useexternallibs
< link rel = "stylesheet" type = "text/css" href = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" > < / script >
//elsif:cssminified
< link rel = "stylesheet" type = "text/css" href = "/static/bwr/bootstrap/dist/css/bootstrap.min.css" / >
//else -->
< link rel = "stylesheet" type = "text/css" href = "/static/bwr/bootstrap/dist/css/bootstrap.css" / >
<!-- //endif -->
< script type = "text/javascript" > / * < ! [ C D A T A [ * / v a r N S = ' d o c u m e n t a t i o n : 2 . 0 ' ; v a r J S I N F O = { " i d " : " d o c u m e n t a t i o n : 2 . 0 : a u t h r e s t " , " n a m e s p a c e " : " d o c u m e n t a t i o n : 2 . 0 " } ;
/*!]]>*/< / script >
< script type = "text/javascript" charset = "utf-8" src = "lib/exe/js.php.t.bootstrap3.js" > < / script >
<!-- //if:usedebianlibs
< script type = "text/javascript" src = "/javascript/jquery/jquery.min.js" > < / script >
//elsif:useexternallibs
< script type = "text/javascript" src = "http://code.jquery.com/jquery-2.2.0.min.js" > < / script >
//elsif:jsminified
< script type = "text/javascript" src = "/static/bwr/jquery/dist/jquery.min.js" > < / script >
//else -->
< script type = "text/javascript" src = "/static/bwr/jquery/dist/jquery.js" > < / script >
<!-- //endif -->
<!-- //if:usedebianlibs
< script type = "text/javascript" src = "/javascript/jquery-ui/jquery-ui.min.js" > < / script >
//elsif:useexternallibs
< script type = "text/javascript" src = "http://code.jquery.com/ui/1.10.4/jquery-ui.min.js" > < / script >
//elsif:jsminified
2018-03-08 13:29:31 +01:00
< script type = "text/javascript" src = "/static/bwr/jquery-ui/jquery-ui.min.js" > < / script >
2017-02-24 07:07:50 +01:00
//else -->
2018-03-08 13:29:31 +01:00
< script type = "text/javascript" src = "/static/bwr/jquery-ui/jquery-ui.js" > < / script >
2017-02-24 07:07:50 +01:00
<!-- //endif -->
< / head >
< body >
< div class = "dokuwiki export container" >
<!-- TOC START -->
< div id = "dw__toc" >
< h3 class = "toggle" > Table of Contents< / h3 >
< div >
< ul class = "toc" >
< li class = "level1" > < div class = "li" > < a href = "#presentation" > Presentation< / a > < / div > < / li >
< li class = "level1" > < div class = "li" > < a href = "#configuration" > Configuration< / a > < / div > < / li >
< li class = "level1" > < div class = "li" > < a href = "#rest_dialog" > REST Dialog< / a > < / div > < / li >
< / ul >
< / div >
< / div >
<!-- TOC END -->
< h1 class = "sectionedit1" id = "rest" > REST< / h1 >
< div class = "level1" >
< div class = "table sectionedit2" > < table class = "inline table table-bordered table-striped" >
< thead >
< tr class = "row0 roweven" >
< th class = "col0 centeralign" > Authentication < / th > < th class = "col1 centeralign" > Users < / th > < th class = "col2 centeralign" > Password < / th >
< / tr >
< / thead >
< tr class = "row1 rowodd" >
< td class = "col0 centeralign" > ✔ < / td > < td class = "col1 centeralign" > ✔ < / td > < td class = "col2 centeralign" > ✔ < / td >
< / tr >
< / table > < / div >
<!-- EDIT2 TABLE [21 - 90] -->
< / div >
<!-- EDIT1 SECTION "REST" [1 - 91] -->
< h2 class = "sectionedit3" id = "presentation" > Presentation< / h2 >
< div class = "level2" >
< p >
This backend can be used to delegate authentication to some webservices.
< / p >
< / div >
<!-- EDIT3 SECTION "Presentation" [92 - 191] -->
< h2 class = "sectionedit4" id = "configuration" > Configuration< / h2 >
< div class = "level2" >
< p >
In Manager, go in < code > General Parameters< / code > > < code > Authentication modules< / code > and choose REST for authentication, users and/or password modules.
< / p >
< p >
Then you just have to set REST < abbr title = "Uniform Resource Locator" > URL< / abbr > to provide wanted services:
< / p >
< div class = "table sectionedit5" > < table class = "inline table table-bordered table-striped" >
< thead >
< tr class = "row0 roweven" >
< th class = "col0 centeralign" > Module < / th > < th class = "col1 centeralign" > Parameter < / th >
< / tr >
< / thead >
< tr class = "row1 rowodd" >
< td class = "col0 centeralign" > Authentication < / td > < td class = "col1 centeralign" > Authentication < abbr title = "Uniform Resource Locator" > URL< / abbr > < / td >
< / tr >
< tr class = "row2 roweven" >
< td class = "col0 centeralign" > User database < / td > < td class = "col1 centeralign" > User data < abbr title = "Uniform Resource Locator" > URL< / abbr > < / td >
< / tr >
< tr class = "row3 rowodd" >
< td class = "col0 centeralign" > Password < / td > < td class = "col1 centeralign" > Password confirmation < abbr title = "Uniform Resource Locator" > URL< / abbr > < / td >
< / tr >
< tr class = "row4 roweven" >
< td class = "col0 centeralign" > Password < / td > < td class = "col1 centeralign" > Password change < abbr title = "Uniform Resource Locator" > URL< / abbr > < / td >
< / tr >
< / table > < / div >
<!-- EDIT5 TABLE [420 - 612] -->
< / div >
<!-- EDIT4 SECTION "Configuration" [192 - 613] -->
< h2 class = "sectionedit6" id = "rest_dialog" > REST Dialog< / h2 >
< div class = "level2" >
< p >
REST web services just have to respond with a “result” key in a JSON file. Auth/UserDB can add a “info” array to will be copied is session data (without reading “Exported variables”).
< / p >
< div class = "table sectionedit7" > < table class = "inline table table-bordered table-striped" >
< thead >
< tr class = "row0 roweven" >
2018-02-23 12:25:47 +01:00
< th class = "col0 centeralign" > < abbr title = "Uniform Resource Locator" > URL< / abbr > < / th > < th class = "col1 centeralign" > Query < / th > < th class = "col2 centeralign" > Response < / th >
2017-02-24 07:07:50 +01:00
< / tr >
< / thead >
< tr class = "row1 rowodd" >
< td class = "col0 centeralign" > Authentication < abbr title = "Uniform Resource Locator" > URL< / abbr > < / td > < td class = "col1" > JSON file: < code > {“user”:$user,“password”:$password}< / code > < / td > < td class = "col2" > JSON file: < code > {“result”:true/false,“info”:{…}}< / code > < / td >
< / tr >
< tr class = "row2 roweven" >
< td class = "col0 centeralign" > User data < abbr title = "Uniform Resource Locator" > URL< / abbr > < / td > < td class = "col1" > JSON file: < code > {“user”:$user}< / code > < / td > < td class = "col2" > JSON file: < code > {“result”:true/false,“info”:{“uid”:“dwho”,…}}< / code > < / td >
< / tr >
< tr class = "row3 rowodd" >
< td class = "col0 centeralign" > Password confirmation < abbr title = "Uniform Resource Locator" > URL< / abbr > < / td > < td class = "col1" > JSON file: < code > {“user”:$user,“password”:$password}< / code > < / td > < td class = "col2" > JSON file: < code > {“result”:true/false}< / code > < / td >
< / tr >
< tr class = "row4 roweven" >
< td class = "col0 centeralign" > Password change < abbr title = "Uniform Resource Locator" > URL< / abbr > < / td > < td class = "col1" > JSON file: < code > {“user”:$user,“password”:$password}< / code > < / td > < td class = "col2" > JSON file: < code > {“result”:true/false}< / code > < / td >
< / tr >
< / table > < / div >
2018-02-23 12:25:47 +01:00
<!-- EDIT7 TABLE [824 - 1345] --> < div class = "notetip" > To have only one call, you can set only REST authentication, set datas in “info” key response and set Null as User Database.
2017-02-24 07:07:50 +01:00
< / div >
< / div >
<!-- EDIT6 SECTION "REST Dialog" [614 - ] --> < / div >
< / body >
< / html >