mirror of
https://github.com/esiur/esiur-js.git
synced 2026-03-18 15:30:38 +00:00
iAuth
This commit is contained in:
52
src/Security/Membership/AuthorizationRequest.js
Normal file
52
src/Security/Membership/AuthorizationRequest.js
Normal 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);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
10
src/Security/Membership/AuthorizationResultsResponse.js
Normal file
10
src/Security/Membership/AuthorizationResultsResponse.js
Normal file
@@ -0,0 +1,10 @@
|
||||
// AuthorizationResultsResponse
|
||||
export default {
|
||||
Success: 0,
|
||||
Failed: 1,
|
||||
Expired: 2,
|
||||
ServiceUnavailable: 3,
|
||||
IAuthPlain: 4,
|
||||
IAuthHashed: 5,
|
||||
IAuthEncrypted: 6
|
||||
}
|
||||
@@ -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
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user