2
0
mirror of https://github.com/esiur/esiur-js.git synced 2026-03-18 15:30:38 +00:00
This commit is contained in:
2024-06-23 14:10:30 +03:00
parent 408d2237f4
commit 5bd69baa71
11 changed files with 325 additions and 138 deletions

View File

@@ -0,0 +1,52 @@
//AuthorizationResults
import IIPAuthPacketIAuthHeader from '../../Net/Packets/IIPAuthPacketIAuthHeader.js';
export default class AuthorizationRequest {
reference;
destination;
clue;
requiredFormat;
contentFormat;
content;
trials;
issue = new Date();
expire;
get expired (){
return new Date() > this.expire;
}
get timeout() {
if (this.expire != null)
return (this.expire - new Date()) / 1000;
else
return 30;
}
constructor(headers){
this.reference = headers.get(IIPAuthPacketIAuthHeader.Reference);
this.destination = headers.get(IIPAuthPacketIAuthHeader.Destination);
this.clue = headers.get(IIPAuthPacketIAuthHeader.Clue);
if (headers.has(IIPAuthPacketIAuthHeader.RequiredFormat))
requiredFormat = headers.get(IIPAuthPacketIAuthHeader.RequiredFormat);
if (headers.has(IIPAuthPacketIAuthHeader.ContentFormat))
contentFormat = headers.get(IIPAuthPacketIAuthHeader.ContentFormat);
if (headers.has(IIPAuthPacketIAuthHeader.Content))
content = headers.get(IIPAuthPacketIAuthHeader.Content);
if (headers.has(IIPAuthPacketIAuthHeader.Trials))
trials = headers.get(IIPAuthPacketIAuthHeader.Trials);
if (headers.has(IIPAuthPacketIAuthHeader.Issue))
this.issue = headers.get(IIPAuthPacketIAuthHeader.Issue);
if (headers.has(IIPAuthPacketIAuthHeader.Expire))
expire = headers.get(IIPAuthPacketIAuthHeader.Expire);
}
}

View File

@@ -1,19 +1,33 @@
//AuthorizationResults
export default class {
response;
destination;
requiredFormat;
clue;
timeout; // 0 means no timeout
reference;
issue = new Date();
import AuthorizationResultsResponse from './AuthorizationResultsResponse.js';
export default class AuthorizationResults {
response = AuthorizationResultsResponse.Failed;
reference;
destination;
clue;
requiredFormat;
contentFormat;
content;
trials;
issue = new Date();
expire;
get expired (){
this.timeout == 0 ? false : ((new Date() - this.issue) / 1000) > this.timeout;
}
return new Date() > this.expire;
}
get timeout() {
if (this.expire != null)
return (this.expire - new Date()) / 1000;
else
return 30;
}
constructor(response = AuthorizationResultsResponse.Failed){
this.response = response;
}
}

View File

@@ -0,0 +1,10 @@
// AuthorizationResultsResponse
export default {
Success: 0,
Failed: 1,
Expired: 2,
ServiceUnavailable: 3,
IAuthPlain: 4,
IAuthHashed: 5,
IAuthEncrypted: 6
}

View File

@@ -1,5 +1,6 @@
import AsyncReply from "../../Core/AsyncReply.js";
import IResource from "../../Resource/IResource.js";
import AuthorizationResults from '../../Security/Membership/AuthorizationResults.js';
export default class IMembership extends IResource
{