5.7.5. Bugzilla::Auth::Login¶
5.7.5.1. NAME¶
Bugzilla::Auth::Login - Gets username/password data from the user.
5.7.5.2. DESCRIPTION¶
Bugzilla::Auth::Login is used to get information that uniquely identifies a user and allows us to authorize their Bugzilla access.
It is mostly an abstract class, requiring subclasses to implement most methods.
Note that callers outside of the Bugzilla::Auth
package should never
create this object directly. Just create a Bugzilla::Auth
object
and call login
on it.
5.7.5.3. LOGIN METHODS¶
These are methods that have to do with getting the actual login data from the user or handling a login somehow.
These methods are abstract – they MUST be implemented by a subclass.
get_login_info()
- Description: Gets a username/password from the user, or some other
- information that uniquely identifies them.
Params: None Returns: A
$login_data
hashref. (See Bugzilla::Auth for details.)The hashref MUST contain:user_id
*or*username
If this is a login method that requires verification, the hashref MUST containpassword
. The hashref MAY containrealname
andextern_id
.
fail_nodata()
- Description: This function is called when Bugzilla doesn’t get
- a username/password and the login type is
LOGIN_REQUIRED
(See Bugzilla::Auth for a description ofLOGIN_REQUIRED
). That is, this handlesAUTH_NODATA
in that situation.This function MUST stop CGI execution when it is complete. That is, it must call C<exit> or C<ThrowUserError> or some such thing. Params: None Returns: Never Returns.
5.7.5.4. INFO METHODS¶
These are methods that describe the capabilities of this
Bugzilla::Auth::Login
object. These are all no-parameter
methods that return either true
or false
.
can_logout
Whether or not users can log out if they logged in using this object. Defaults totrue
.
can_login
Whether or not users can log in through the web interface using this object. Defaults totrue
.
requires_persistence
Whether or not we should send the user a cookie if they logged in with this method. Defaults totrue
.
requires_verification
Whether or not we should check the username/password that we got from this login method. Defaults totrue
.
user_can_create_account
Whether or not users can create accounts, if this login method is currently being used by the system. Defaults tofalse
.
extern_id_used
Whether or not this login method uses the extern_id field. If used, users with editusers permission will be be allowed to edit the extern_id for all users.
The default value is
0
.
This documentation undoubtedly has bugs; if you find some, please file them here.