Difference between revisions of "API:EPrints/DataObj/LoginTicket"
Line 1: | Line 1: | ||
<!-- Pod2Wiki=_preamble_ | <!-- Pod2Wiki=_preamble_ | ||
− | This page has been automatically generated from the EPrints 3. | + | This page has been automatically generated from the EPrints 3.4 source. Any wiki changes made between the 'Pod2Wiki=*' and 'Edit below this comment' comments will be lost. |
− | -->{{API}}{{Pod2Wiki}}{{API:Source|file= | + | -->{{API}}{{Pod2Wiki}}{{API:Source|file=EPrints/DataObj/LoginTicket.pm|package_name=EPrints::DataObj::LoginTicket}}[[Category:API|LOGINTICKET]][[Category:API:EPrints/DataObj|LOGINTICKET]]<div><!-- Edit below this comment --> |
<!-- Pod2Wiki=_private_ --><!-- Pod2Wiki=head_name --> | <!-- Pod2Wiki=_private_ --><!-- Pod2Wiki=head_name --> | ||
==NAME== | ==NAME== | ||
− | '''EPrints::DataObj::LoginTicket''' - | + | '''EPrints::DataObj::LoginTicket''' - User system loginticket |
+ | <div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <span style='display:none'>User Comments</span> | ||
<!-- Edit below this comment --> | <!-- Edit below this comment --> | ||
<!-- Pod2Wiki= --> | <!-- Pod2Wiki= --> | ||
+ | </div> | ||
<!-- Pod2Wiki=head_description --> | <!-- Pod2Wiki=head_description --> | ||
==DESCRIPTION== | ==DESCRIPTION== | ||
Login tickets are the database entries for the user's session cookies. | Login tickets are the database entries for the user's session cookies. | ||
+ | <div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <span style='display:none'>User Comments</span> | ||
<!-- Edit below this comment --> | <!-- Edit below this comment --> | ||
<!-- Pod2Wiki= --> | <!-- Pod2Wiki= --> | ||
+ | </div> | ||
<!-- Pod2Wiki=head_configuration_settings --> | <!-- Pod2Wiki=head_configuration_settings --> | ||
===Configuration Settings=== | ===Configuration Settings=== | ||
− | + | <div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | |
− | + | <span style='display:none'>User Comments</span> | |
+ | <!-- Edit below this comment --> | ||
+ | |||
+ | |||
+ | <!-- Pod2Wiki= --> | ||
+ | </div> | ||
+ | <!-- Pod2Wiki=item_user_cookie_timeout_undef --> | ||
+ | ====user_cookie_timeout = undef==== | ||
+ | |||
+ | Set an expiry on the session cookies. This will cause the user's browser to delete the cookie after the given time. The time is specified according to {{API:PodLink|file=CGI|package_name=CGI|section=|text=CGI}}'s cookie constructor. This allows settings like <tt>+1h</tt> and <tt>+7d</tt>. | ||
+ | |||
+ | <div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <span style='display:none'>User Comments</span> | ||
+ | <!-- Edit below this comment --> | ||
+ | |||
+ | |||
+ | <!-- Pod2Wiki= --> | ||
+ | </div> | ||
+ | <!-- Pod2Wiki=item_user_inactivity_timeout_86400_7 --> | ||
+ | ====user_inactivity_timeout = 86400 * 7==== | ||
+ | |||
+ | How long to wait in seconds before logging the user out after their last activity. | ||
+ | |||
+ | <div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <span style='display:none'>User Comments</span> | ||
+ | <!-- Edit below this comment --> | ||
+ | |||
+ | |||
+ | <!-- Pod2Wiki= --> | ||
+ | </div> | ||
+ | <!-- Pod2Wiki=item_user_session_timeout_undef --> | ||
+ | ====user_session_timeout = undef==== | ||
+ | |||
+ | How long in seconds the user can stay logged in before they must re-log in. Defaults to never - if you do specify this setting you probably want to reduce <tt>user_inactivity_timeout</tt> to <1 hour. | ||
+ | |||
+ | <div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <span style='display:none'>User Comments</span> | ||
+ | <!-- Edit below this comment --> | ||
+ | |||
+ | |||
+ | <!-- Pod2Wiki= --> | ||
+ | </div> | ||
+ | <!-- Pod2Wiki=head_core_metadata_fields --> | ||
+ | ==CORE METADATA FIELDS== | ||
+ | <div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <span style='display:none'>User Comments</span> | ||
+ | <!-- Edit below this comment --> | ||
− | |||
− | |||
− | + | <!-- Pod2Wiki= --> | |
− | : | + | </div> |
+ | <!-- Pod2Wiki=item_code --> | ||
+ | ===code (id)=== | ||
+ | |||
+ | The identifier used in the HTTP cookie for this login ticket's session. | ||
+ | |||
+ | <div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <span style='display:none'>User Comments</span> | ||
+ | <!-- Edit below this comment --> | ||
+ | |||
+ | |||
+ | <!-- Pod2Wiki= --> | ||
+ | </div> | ||
+ | <!-- Pod2Wiki=item_securecode --> | ||
+ | ===securecode (id)=== | ||
+ | |||
+ | The identifier used in the HTTPS cookie for this login ticket's session. | ||
+ | |||
+ | <div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <span style='display:none'>User Comments</span> | ||
+ | <!-- Edit below this comment --> | ||
+ | |||
+ | |||
+ | <!-- Pod2Wiki= --> | ||
+ | </div> | ||
+ | <!-- Pod2Wiki=item_ip --> | ||
+ | ===ip (id)=== | ||
+ | |||
+ | The IP address of associated with this login ticket. | ||
+ | |||
+ | <div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <span style='display:none'>User Comments</span> | ||
+ | <!-- Edit below this comment --> | ||
+ | |||
+ | |||
+ | <!-- Pod2Wiki= --> | ||
+ | </div> | ||
+ | <!-- Pod2Wiki=item_time --> | ||
+ | ===time (bigint)=== | ||
+ | |||
+ | The time in seconds since the start of epoch when this login ticket was created. | ||
+ | |||
+ | <div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <span style='display:none'>User Comments</span> | ||
+ | <!-- Edit below this comment --> | ||
+ | |||
+ | |||
+ | <!-- Pod2Wiki= --> | ||
+ | </div> | ||
+ | <!-- Pod2Wiki=item_expires --> | ||
+ | ===expires (bigint)=== | ||
+ | |||
+ | The time in seconds since the start of epoch when this login ticket will expires. | ||
+ | |||
+ | <div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <span style='display:none'>User Comments</span> | ||
+ | <!-- Edit below this comment --> | ||
+ | |||
+ | |||
+ | <!-- Pod2Wiki= --> | ||
+ | </div> | ||
+ | <!-- Pod2Wiki=head_references_and_related_objects --> | ||
+ | ==REFERENCES AND RELATED OBJECTS== | ||
+ | <div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <span style='display:none'>User Comments</span> | ||
+ | <!-- Edit below this comment --> | ||
+ | |||
+ | |||
+ | <!-- Pod2Wiki= --> | ||
+ | </div> | ||
+ | <!-- Pod2Wiki=item_userid --> | ||
+ | ===userid (itemref)=== | ||
+ | |||
+ | The ID of the user to whom this login ticket belongs. | ||
+ | <div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <span style='display:none'>User Comments</span> | ||
<!-- Edit below this comment --> | <!-- Edit below this comment --> | ||
<!-- Pod2Wiki= --> | <!-- Pod2Wiki= --> | ||
+ | </div> | ||
<!-- Pod2Wiki=head_methods --> | <!-- Pod2Wiki=head_methods --> | ||
==METHODS== | ==METHODS== | ||
− | <!-- Pod2Wiki= | + | <div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> |
+ | <span style='display:none'>User Comments</span> | ||
+ | <!-- Edit below this comment --> | ||
+ | |||
+ | |||
+ | <!-- Pod2Wiki= --> | ||
+ | </div> | ||
+ | <!-- Pod2Wiki=item_get_system_field_info --> | ||
===get_system_field_info=== | ===get_system_field_info=== | ||
− | < | + | $fields = EPrints::DataObj::Access->get_system_field_info |
+ | Returns an array describing the system metadata of the loginticket dataset. | ||
+ | |||
+ | <div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <span style='display:none'>User Comments</span> | ||
+ | <!-- Edit below this comment --> | ||
+ | |||
+ | |||
+ | <!-- Pod2Wiki= --> | ||
+ | </div> | ||
+ | <!-- Pod2Wiki=item_get_dataset_id --> | ||
+ | ===get_dataset_id=== | ||
+ | |||
+ | $dataset = EPrints::DataObj::LoginTicket->get_dataset_id | ||
+ | Returns the ID of the [[API:EPrints/DataSet|EPrints::DataSet]] object to which this record belongs. | ||
+ | |||
+ | <div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <span style='display:none'>User Comments</span> | ||
+ | <!-- Edit below this comment --> | ||
+ | |||
+ | |||
+ | <!-- Pod2Wiki= --> | ||
+ | </div> | ||
+ | <!-- Pod2Wiki=item_get_defaults --> | ||
+ | ===get_defaults=== | ||
− | </ | + | $defaults = EPrints::DataObj::LoginTicket->get_defaults( $session, $data, $dataset ) |
− | + | Returns default values for this data object based on the starting <tt>$data</tt>. | |
+ | <div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <span style='display:none'>User Comments</span> | ||
<!-- Edit below this comment --> | <!-- Edit below this comment --> | ||
<!-- Pod2Wiki= --> | <!-- Pod2Wiki= --> | ||
− | <!-- Pod2Wiki= | + | </div> |
− | === | + | <!-- Pod2Wiki=item_new_from_request --> |
+ | ===new_from_request=== | ||
+ | |||
+ | $loginticket = EPrints::DataObj::LoginTicket->new_from_request( $repo, $r ) | ||
+ | Creates a new loginticket data object using the {{API:PodLink|file=HTTP/Request|package_name=HTTP::Request|section=|text=HTTP::Request}} <tt>$r</tt>. | ||
+ | |||
+ | Returns new loginticket data object if successful. Otherwise, returns <tt>undef</tt>. | ||
+ | |||
+ | <div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <span style='display:none'>User Comments</span> | ||
<!-- Edit below this comment --> | <!-- Edit below this comment --> | ||
<!-- Pod2Wiki= --> | <!-- Pod2Wiki= --> | ||
− | <!-- Pod2Wiki= | + | </div> |
− | === | + | <!-- Pod2Wiki=item_expire_all --> |
+ | ===expire_all=== | ||
+ | |||
+ | EPrints::DataObj::LoginTicket->expire_all( $repo ) | ||
+ | Expire all login tickets. Effectively logging out all users currently logged in. | ||
+ | |||
+ | <div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <span style='display:none'>User Comments</span> | ||
+ | <!-- Edit below this comment --> | ||
+ | |||
+ | |||
+ | <!-- Pod2Wiki= --> | ||
+ | </div> | ||
+ | <!-- Pod2Wiki=item_session_key --> | ||
+ | ===session_key=== | ||
+ | |||
+ | EPrints::DataObj::LoginTicket->session_key( $repo ) | ||
+ | Get the key to use for the session cookies. | ||
+ | |||
+ | In the following circumstance: | ||
+ | |||
+ | example.org | ||
+ | custom.example.org | ||
+ | |||
+ | Where both hosts use the same cookie key the cookie from example.org will collide with the cookie from custom.example.org. To avoid this the full hostname is embedded in the cookie key. | ||
+ | |||
+ | <div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <span style='display:none'>User Comments</span> | ||
+ | <!-- Edit below this comment --> | ||
+ | |||
− | < | + | <!-- Pod2Wiki= --> |
+ | </div> | ||
+ | <!-- Pod2Wiki=item_secure_session_key --> | ||
+ | ===secure_session_key=== | ||
− | + | EPrints::DataObj::LoginTicket->secure_session_key($repo) | |
− | + | See [[API:EPrints/DataObj/LoginTicket#session_key|session_key]]. | |
+ | <div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <span style='display:none'>User Comments</span> | ||
<!-- Edit below this comment --> | <!-- Edit below this comment --> | ||
<!-- Pod2Wiki= --> | <!-- Pod2Wiki= --> | ||
+ | </div> | ||
<!-- Pod2Wiki=head_object_methods --> | <!-- Pod2Wiki=head_object_methods --> | ||
===Object Methods=== | ===Object Methods=== | ||
− | + | <div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | |
− | + | <span style='display:none'>User Comments</span> | |
+ | <!-- Edit below this comment --> | ||
+ | |||
− | + | <!-- Pod2Wiki= --> | |
− | + | </div> | |
+ | <!-- Pod2Wiki=item_generate_cookie --> | ||
+ | ====generate_cookie==== | ||
− | + | $cookie = $loginticket->generate_cookie( %opts ) | |
+ | Returns the HTTP (non-secure) session cookie. Uses <tt>%opts</tt> to add any additional attributes to the cookie. | ||
+ | <div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <span style='display:none'>User Comments</span> | ||
<!-- Edit below this comment --> | <!-- Edit below this comment --> | ||
<!-- Pod2Wiki= --> | <!-- Pod2Wiki= --> | ||
− | <!-- Pod2Wiki= | + | </div> |
− | == | + | <!-- Pod2Wiki=item_generate_secure_cookie --> |
− | + | ====generate_secure_cookie==== | |
+ | |||
+ | $cookie = $ticket->generate_secure_cookie( %opts ) | ||
+ | Returns the HTTPS session cookie. Uses <tt>%opts</tt> to add any additional attributes to the cookie. | ||
+ | |||
+ | <div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <span style='display:none'>User Comments</span> | ||
+ | <!-- Edit below this comment --> | ||
+ | |||
+ | |||
+ | <!-- Pod2Wiki= --> | ||
+ | </div> | ||
+ | <!-- Pod2Wiki=item_set_cookies --> | ||
+ | ====set_cookies==== | ||
+ | |||
+ | $ticket->set_cookies | ||
+ | Set the session cookies for this loginticket data object. | ||
+ | <div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <span style='display:none'>User Comments</span> | ||
<!-- Edit below this comment --> | <!-- Edit below this comment --> | ||
<!-- Pod2Wiki= --> | <!-- Pod2Wiki= --> | ||
− | <!-- Pod2Wiki= | + | </div> |
− | == | + | <!-- Pod2Wiki=item_update --> |
− | + | ====update==== | |
− | + | $ticket->update | |
+ | Update the loginticket data object by extending the expiry time. | ||
− | + | The expiry time is extended <tt>user_inactivity_timeout</tt> or 7 days. | |
− | + | <div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | |
+ | <span style='display:none'>User Comments</span> | ||
+ | <!-- Edit below this comment --> | ||
− | |||
+ | <!-- Pod2Wiki= --> | ||
+ | </div> | ||
+ | <!-- Pod2Wiki=head_see_also --> | ||
+ | ==SEE ALSO== | ||
+ | [[API:EPrints/DataObj|EPrints::DataObj]] and [[API:EPrints/DataSet|EPrints::DataSet]]. | ||
+ | |||
+ | <div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <span style='display:none'>User Comments</span> | ||
<!-- Edit below this comment --> | <!-- Edit below this comment --> | ||
<!-- Pod2Wiki= --> | <!-- Pod2Wiki= --> | ||
− | <!-- Pod2Wiki= | + | </div> |
+ | <!-- Pod2Wiki=head_copyright --> | ||
+ | ==COPYRIGHT== | ||
+ | {{API:Copyright}} | ||
+ | <div style='background-color: #e8e8f; margin: 0.5em 0em 1em 0em; border: solid 1px #cce; padding: 0em 1em 0em 1em; font-size: 80%; '> | ||
+ | <span style='display:none'>User Comments</span> | ||
<!-- Edit below this comment --> | <!-- Edit below this comment --> | ||
+ | |||
+ | |||
+ | <!-- Pod2Wiki= --> | ||
+ | </div> | ||
+ | <!-- Pod2Wiki=_postamble_ --><!-- Edit below this comment --> |
Revision as of 00:13, 30 December 2021
EPrints 3 Reference: Directory Structure - Metadata Fields - Repository Configuration - XML Config Files - XML Export Format - EPrints data structure - Core API - Data Objects
Latest Source Code (3.4, 3.3) | Revision Log | Before editing this page please read Pod2Wiki
Contents
NAME
EPrints::DataObj::LoginTicket - User system loginticket
DESCRIPTION
Login tickets are the database entries for the user's session cookies.
Configuration Settings
user_cookie_timeout = undef
Set an expiry on the session cookies. This will cause the user's browser to delete the cookie after the given time. The time is specified according to CGI's cookie constructor. This allows settings like +1h and +7d.
user_inactivity_timeout = 86400 * 7
How long to wait in seconds before logging the user out after their last activity.
user_session_timeout = undef
How long in seconds the user can stay logged in before they must re-log in. Defaults to never - if you do specify this setting you probably want to reduce user_inactivity_timeout to <1 hour.
CORE METADATA FIELDS
code (id)
The identifier used in the HTTP cookie for this login ticket's session.
securecode (id)
The identifier used in the HTTPS cookie for this login ticket's session.
ip (id)
The IP address of associated with this login ticket.
time (bigint)
The time in seconds since the start of epoch when this login ticket was created.
expires (bigint)
The time in seconds since the start of epoch when this login ticket will expires.
REFERENCES AND RELATED OBJECTS
userid (itemref)
The ID of the user to whom this login ticket belongs.
METHODS
get_system_field_info
$fields = EPrints::DataObj::Access->get_system_field_info
Returns an array describing the system metadata of the loginticket dataset.
get_dataset_id
$dataset = EPrints::DataObj::LoginTicket->get_dataset_id
Returns the ID of the EPrints::DataSet object to which this record belongs.
get_defaults
$defaults = EPrints::DataObj::LoginTicket->get_defaults( $session, $data, $dataset )
Returns default values for this data object based on the starting $data.
new_from_request
$loginticket = EPrints::DataObj::LoginTicket->new_from_request( $repo, $r )
Creates a new loginticket data object using the HTTP::Request $r.
Returns new loginticket data object if successful. Otherwise, returns undef.
expire_all
EPrints::DataObj::LoginTicket->expire_all( $repo )
Expire all login tickets. Effectively logging out all users currently logged in.
session_key
EPrints::DataObj::LoginTicket->session_key( $repo )
Get the key to use for the session cookies.
In the following circumstance:
example.org custom.example.org
Where both hosts use the same cookie key the cookie from example.org will collide with the cookie from custom.example.org. To avoid this the full hostname is embedded in the cookie key.
secure_session_key
EPrints::DataObj::LoginTicket->secure_session_key($repo)
See session_key.
Object Methods
generate_cookie
$cookie = $loginticket->generate_cookie( %opts )
Returns the HTTP (non-secure) session cookie. Uses %opts to add any additional attributes to the cookie.
generate_secure_cookie
$cookie = $ticket->generate_secure_cookie( %opts )
Returns the HTTPS session cookie. Uses %opts to add any additional attributes to the cookie.
set_cookies
$ticket->set_cookies
Set the session cookies for this loginticket data object.
update
$ticket->update
Update the loginticket data object by extending the expiry time.
The expiry time is extended user_inactivity_timeout or 7 days.
SEE ALSO
EPrints::DataObj and EPrints::DataSet.
COPYRIGHT
© Copyright 2000-2024 University of Southampton.
EPrints 3.4 is supplied by EPrints Services.
http://www.eprints.org/eprints-3.4/
LICENSE
This file is part of EPrints 3.4 http://www.eprints.org/.
EPrints 3.4 and this file are released under the terms of the GNU Lesser General Public License version 3 as published by the Free Software Foundation unless otherwise stated.
EPrints 3.4 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with EPrints 3.4. If not, see http://www.gnu.org/licenses/.