2
0
mirror of https://github.com/esiur/esiur-dart.git synced 2026-04-04 02:08:21 +00:00
This commit is contained in:
2024-06-22 03:50:54 +03:00
parent 8a30c92e19
commit 26794f08e7
32 changed files with 1508 additions and 595 deletions

View File

@@ -0,0 +1,18 @@
import '../../Net/Packets/IIPAuthPacketIAuthDestination.dart';
import '../../Net/Packets/IIPAuthPacketIAuthFormat.dart';
import 'AuthorizationResultsResponse.dart';
class AuthorizationResults
{
AuthorizationResultsResponse response = AuthorizationResultsResponse.Failed;
int destination = IIPAuthPacketIAuthDestination.Self;
int requiredFormat = IIPAuthPacketIAuthFormat.None ;
String clue = "";
int timeout = 0; // 0 means no timeout
int reference = 0;
DateTime issue = DateTime.now();
//bool expired => timeout == 0 ? false : (DateTime.UtcNow - Issue).TotalSeconds > Timeout;
}

View File

@@ -0,0 +1,10 @@
enum AuthorizationResultsResponse
{
Success,
Failed,
Expired,
ServiceUnavailable,
IAuthPlain,
IAuthHashed,
IAuthEncrypted
}

View File

@@ -0,0 +1,26 @@
import '../../Core/AsyncReply.dart';
import '../../Data/DC.dart';
import '../../Net/Packets/IIPAuthPacketHashAlgorithm.dart';
import '../Authority/Session.dart';
import 'AuthorizationResults.dart';
abstract class IMembership
{
//public event ResourceEventHandler<AuthorizationIndication> Authorization;
AsyncReply<String?> userExists(String username, String domain);
AsyncReply<String?> tokenExists(int tokenIndex, String domain);
AsyncReply<DC?> getPassword(String username, String domain);
AsyncReply<DC?> getToken(String tokenIndex, String domain);
AsyncReply<AuthorizationResults> authorize(Session session);
AsyncReply<AuthorizationResults> authorizePlain(Session session, int reference, value);
AsyncReply<AuthorizationResults> authorizeHashed(Session session, int reference, int algorithm, DC value);
AsyncReply<AuthorizationResults> authorizeEncrypted(Session session, int reference, int algorithm, DC value);
AsyncReply<bool> login(Session session);
AsyncReply<bool> logout(Session session);
bool get guestsAllowed;
}