1
0
KF2-Dev-Scripts/WebAdmin/Classes/IWebAdminAuth.uc

64 lines
2.2 KiB
Ucode
Raw Normal View History

2020-12-13 15:01:13 +00:00
/**
* 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);