/** * 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);