64 lines
2.2 KiB
Ucode
64 lines
2.2 KiB
Ucode
/**
|
|
* WebAdmin authentication interface. An implementation of this interface is
|
|
* used to create IWebAdminUser instances.
|
|
*
|
|
* Copyright 2008 Epic Games, Inc. All Rights Reserved
|
|
*
|
|
* @author Michiel 'elmuerte' Hendriks
|
|
*/
|
|
interface IWebAdminAuth;
|
|
|
|
/**
|
|
* Initialize the authentication handler
|
|
*/
|
|
function init(WorldInfo worldinfo);
|
|
|
|
/**
|
|
* Cleanup (prepare for being destroyed)
|
|
*/
|
|
function cleanup();
|
|
|
|
/**
|
|
* Try to log in a user with the provided credentials
|
|
*
|
|
* @param username
|
|
* @param password
|
|
* @param hashAlg Hash algorithm used to hash the password. Passwords will be hashed as: hash(password+username)
|
|
* @param errorMsg can be set to a friendly error message or reason why authentication failed
|
|
* @return none when authentication failed, otherwise the created user instance
|
|
*/
|
|
function IWebAdminUser authenticate(string username, string password, string hashAlg, out string errorMsg);
|
|
|
|
/**
|
|
* Logout the given user. A user does not explicitly log out.
|
|
*
|
|
* @return true when the user was succesfully logged out.
|
|
*/
|
|
function bool logout(IWebAdminUser user);
|
|
|
|
/**
|
|
* Like authenticate(...) except that the user is not explicitly logged in (or created).
|
|
* This will be used to re-validate an already existing user. For example in the case a
|
|
* time out was triggered and the user needs to re-enter his/her password.
|
|
*
|
|
* @param username
|
|
* @param password
|
|
* @param hashAlg Hash algorithm used to hash the password. Passwords will be hashed as: hash(password+username)
|
|
* @param errorMsg can be set to a friendly error message or reason why authentication failed
|
|
*/
|
|
function bool validate(string username, string password, string hashAlg, out string errorMsg);
|
|
|
|
/**
|
|
* Validate the given user. This will be used to check if the IWebAdminUser is still valid,
|
|
* for example to check if the user wasn't deleted in the mean while.
|
|
*
|
|
* @param user the user instance to validate
|
|
* @param errorMsg can be set to a friendly error message or reason why authentication failed
|
|
*/
|
|
function bool validateUser(IWebAdminUser user, out string errorMsg);
|
|
|
|
/**
|
|
* Return true if this authentication mechanism supports the given hash algorithm
|
|
*/
|
|
function bool supportHashAlgorithm(string hashAlg);
|