mirror of
				https://github.com/esiur/esiur-dart.git
				synced 2025-10-30 23:31:36 +00:00 
			
		
		
		
	iAuth
This commit is contained in:
		
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -87,7 +87,7 @@ class DistributedResource extends IResource { | ||||
|   void destroy() { | ||||
|     _destroyed = true; | ||||
|     _attached = false; | ||||
|     _connection?.detachResource(_instanceId as int); | ||||
|     _connection?.sendDetachRequest(_instanceId as int); | ||||
|     emitArgs("destroy", [this]); | ||||
|   } | ||||
|  | ||||
| @@ -391,12 +391,7 @@ class DistributedResource extends IResource { | ||||
|     var reply = new AsyncReply<dynamic>(); | ||||
|     var con = _connection as DistributedConnection; | ||||
|  | ||||
|     var parameters = Codec.compose(value, con); | ||||
|     (con.sendRequest(IIPPacketAction.SetProperty) | ||||
|           ..addUint32(_instanceId as int) | ||||
|           ..addUint8(index) | ||||
|           ..addDC(parameters)) | ||||
|         .done() | ||||
|     con.sendSetProperty(_instanceId as int, index, value) | ||||
|       ..then((res) { | ||||
|         // not really needed, server will always send property modified, | ||||
|         // this only happens if the programmer forgot to emit in property setter | ||||
|   | ||||
| @@ -1,11 +1,13 @@ | ||||
| import '../../Data/IntType.dart'; | ||||
|  | ||||
| class IIPAuthPacketIAuthHeader | ||||
| { | ||||
|     static int Reference = 0; | ||||
|     static int Destination = 1; | ||||
|     static int Clue = 2; | ||||
|     static int RequiredFormat = 3; | ||||
|     static int ContentFormat = 4; | ||||
|     static int Content = 5; | ||||
|     static int Timeout = 6; | ||||
| } | ||||
| class IIPAuthPacketIAuthHeader { | ||||
|   static UInt8 Reference = UInt8(0); | ||||
|   static UInt8 Destination = UInt8(1); | ||||
|   static UInt8 Clue = UInt8(2); | ||||
|   static UInt8 RequiredFormat = UInt8(3); | ||||
|   static UInt8 ContentFormat = UInt8(4); | ||||
|   static UInt8 Content = UInt8(5); | ||||
|   static UInt8 Trials = UInt8(6); | ||||
|   static UInt8 Issue = UInt8(7); | ||||
|   static UInt8 Expire = UInt8(8); | ||||
| } | ||||
|   | ||||
							
								
								
									
										44
									
								
								lib/src/Security/Membership/AuthorizationRequest.dart
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								lib/src/Security/Membership/AuthorizationRequest.dart
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | ||||
| import 'package:esiur/esiur.dart'; | ||||
|  | ||||
| import '../../Net/Packets/IIPAuthPacketIAuthDestination.dart'; | ||||
| import '../../Net/Packets/IIPAuthPacketIAuthFormat.dart'; | ||||
| import '../../Net/Packets/IIPAuthPacketIAuthHeader.dart'; | ||||
|  | ||||
| class AuthorizationRequest { | ||||
|   int reference = 0; | ||||
|   int destination = IIPAuthPacketIAuthDestination.Self; | ||||
|   String? clue; | ||||
|  | ||||
|   IIPAuthPacketIAuthFormat? requiredFormat; | ||||
|   IIPAuthPacketIAuthFormat? contentFormat; | ||||
|   dynamic content; | ||||
|  | ||||
|   int? trials; | ||||
|  | ||||
|   DateTime? issue; | ||||
|   DateTime? expire; | ||||
|  | ||||
|   int get timeout => | ||||
|       expire != null ? DateTime.now().difference(expire!).inSeconds : 0; | ||||
|  | ||||
|   AuthorizationRequest(Map<UInt8, dynamic> headers) { | ||||
|     reference = headers[IIPAuthPacketIAuthHeader.Reference]; | ||||
|     destination = headers[IIPAuthPacketIAuthHeader.Destination]; | ||||
|     clue = headers[IIPAuthPacketIAuthHeader.Clue]; | ||||
|  | ||||
|     if (headers.containsKey(IIPAuthPacketIAuthHeader.RequiredFormat)) | ||||
|       requiredFormat = headers[IIPAuthPacketIAuthHeader.RequiredFormat]; | ||||
|  | ||||
|     if (headers.containsKey(IIPAuthPacketIAuthHeader.ContentFormat)) | ||||
|       contentFormat = headers[IIPAuthPacketIAuthHeader.ContentFormat]; | ||||
|  | ||||
|     if (headers.containsKey(IIPAuthPacketIAuthHeader.Content)) | ||||
|       content = headers[IIPAuthPacketIAuthHeader.Content]; | ||||
|  | ||||
|     if (headers.containsKey(IIPAuthPacketIAuthHeader.Trials)) | ||||
|       trials = headers[IIPAuthPacketIAuthHeader.Trials]; | ||||
|  | ||||
|     if (headers.containsKey(IIPAuthPacketIAuthHeader.Expire)) | ||||
|       expire = headers[IIPAuthPacketIAuthHeader.Expire]; | ||||
|   } | ||||
| } | ||||
| @@ -2,17 +2,22 @@ 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 = ""; | ||||
| class AuthorizationResults { | ||||
|   AuthorizationResultsResponse response = AuthorizationResultsResponse.Failed; | ||||
|  | ||||
|         int timeout = 0; // 0 means no timeout | ||||
|         int reference = 0; | ||||
|   int reference = 0; | ||||
|   int destination = IIPAuthPacketIAuthDestination.Self; | ||||
|   String? clue; | ||||
|  | ||||
|         DateTime issue = DateTime.now(); | ||||
|   IIPAuthPacketIAuthFormat? requiredFormat; | ||||
|   IIPAuthPacketIAuthFormat? contentFormat; | ||||
|   dynamic content; | ||||
|  | ||||
|         //bool expired => timeout == 0 ? false : (DateTime.UtcNow - Issue).TotalSeconds > Timeout; | ||||
|     } | ||||
|   int? trials; | ||||
|  | ||||
|   DateTime? issue; | ||||
|   DateTime? expire; | ||||
|  | ||||
|   int get timeout => | ||||
|       expire != null ? DateTime.now().difference(expire!).inSeconds : 0; | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user