From 3c4c46233fad1e26b60a35cc915ce02e5fb805cb Mon Sep 17 00:00:00 2001 From: mbrodhu <brodhun@sub.uni-goettingen.de> Date: Thu, 29 Oct 2015 15:22:17 +0100 Subject: [PATCH] docs --- docs/conf.py | 2 +- docs/index.rst | 89 ++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 87 insertions(+), 4 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index df92efb..e5a1220 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -110,7 +110,7 @@ todo_include_todos = True # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. -html_theme = 'alabaster' +html_theme = 'default' # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the diff --git a/docs/index.rst b/docs/index.rst index 4479c89..b59a43b 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -6,9 +6,9 @@ TG-auth* ======== ----------------- -identify Request ----------------- +-------- +Overview +-------- The tg-auth* system consists of two main components: @@ -21,4 +21,87 @@ There are some minor components interacting with tg-auth* (now obsolete since th * PWreset, a Web application that lets users set a new password in case they forgot their old one +--------------------- +Technical Information +--------------------- +**Response** + + * Implementation: PHP, consisting of + * openRBAC core: RBAC implementation backed up by an LDAP directory, e.g. openLDAP + * openRBAC Web Service layer: for accessing openRBAC functions via SOAP + * tgextra (also a SOAP Web Service): additional functions implemented for TextGrid needs, either aggregating basic RBAC functions or introducing unrelated functions that leverage the underlying LDAP server as storage + * Storage: an OpenLDAP server + * two additional schemas: for RBAC core and for TextGrid-specific attributes + * Branches: + * ou=people for users + * ou=roles for the roles users can activate. TextGrid projects are treated like roles, with sub-roles for the actual roles visible in the TextGridLab. e.g. Administrator or Editor + * ou=resources for the TextGridObjects and their role-right assignments + * ou=sessions for the Session IDs that users have in the TextGridLab and the roles they activated in their sessions + + +**WebAuthN** + + * Implementation: PHP + * Dual Login on the first page: + * direct authentication in the community LDAP server or via + * Shibboleth Login with DFN-AAI-Basic + * Both Login methods populate the Server variable $REMOTE_USER + * In Login Mode, the following happens: + 1. authentication + 2. registration of a user session with activation of all available roles in RBAC + 3. check if user has filled out all required personal information and accepted the Terms of use + 4. exposure of the newly assigned Session ID for use in further activities with the TextGridLab and the TG-Utilities + * In User Details mode (no authentication, just see and modify user's attributes), only 3. happens. + * One WebAuthN installation with one community LDAP server can interact with multiple RBAC instances. + * HTTP GET or POST arguments for TextGrid-WebAuth.php: + * authZinstance – string identifying the RBAC instance to be used. Always needed. + * loginname and password – for authentication at community LDAP. Only in Login mode and with HTTP POST. + * Sid – Session ID known from some earlier authentication. Necessary for User Details mode. + * ePPN - User ID of the user. Necessary in User Details mode. + * TextGrid-WebAuth.php is being called from WebAuthN2.php, which presents both the community login form and the Shibboleth Login Button. + * For Shibboleth login, the Shibboleth Service Provider (Apache module) guarantees the provision of a correct User ID delivered from some home organisation. + +**PWchange** + + * PHP Web application + * Authenticates and changes passwords against an LDAP direcory (community LDAP server) + * Source currently not in SVN, but available upon request + +**PWreset** + + * Perl Web application + * sends out links for verification of the user's email adress + * must be used with the system's Web browser, not the TextGridLab-internal one, because of the use of cookies to remember the user + +---- +URLs +---- + +**Repository** + + * Current development is is in GIT repository of GWDG Chili, https://projects.gwdg.de/projects/tg-auth + * Old Subversion repositories as of November 2013 can be found here: + * openRBAC: https://svn.projects.gwdg.de/svn/textgrid-svn-archive/trunk/middleware/tgauth/info.textgrid.middleware.tgauth.rbac + * WebAuthN: https://svn.projects.gwdg.de/svn/textgrid-svn-archive/trunk/middleware/tgauth/info.textgrid.middleware.tgauth.webauth + * PWreset: https://svn.projects.gwdg.de/svn/textgrid-svn-archive/trunk/middleware/tgauth/info.textgrid.middleware.tgauth.passwordReset + +**WSDL** + +OpenRBAC SOAP WSDL locations on the productive TextGridRep TG-auth* server: + + * Most relevant for Lab/User interaction: https://textgridlab.org/1.0/tgauth/wsdl/tgextra.wsdl >> Documentation of TGextra WSDL Methods + * Relevant for Server access: https://textgridlab.org/1.0/tgauth/wsdl/tgextra-crud.wsdl >> Documentation of TGextra-crud Methods (TODO) + * Administrative functions: + * https://textgridlab.org/1.0/tgauth/wsdl/tgadministration.wsdl + * https://textgridlab.org/1.0/tgauth/wsdl/tgreview.wsdl + * https://textgridlab.org/1.0/tgauth/wsdl/tgsystem.wsdl + +**Web applications** + +Endpoints for the productive TextGridRep: + + * WebAuthN (Login mode): https://textgridlab.org/1.0/WebAuthN/WebAuthN2.php?authZinstance=textgrid-esx1.gwdg.de + * WebAuthN (User Details mode): https://textgridlab.org/1.0/WebAuthN/TextGrid-WebAuth.php?authZinstance=textgrid-esx1.gwdg.de (append "&Sid=XXXX&ePPN=YYY@ZZZ", see above) + * PWchange: https://textgridlab.org/1.0/PWchange/index.php + * PWreset: https://textgridlab.org/1.0/pwReset.pl -- GitLab