kaven-utils
Version:
Utils for Node.js.
56 lines (55 loc) • 1.9 kB
JavaScript
/********************************************************************
* @author: Kaven
* @email: kaven@wuwenkai.com
* @website: http://blog.kaven.xyz
* @file: [Kaven-Utils] /src/KavenSSO/KavenSSO.ts
* @create: 2018-10-20 07:12:13.205
* @modify: 2020-06-24 08:56:05.766
* @version: 2.0.6
* @times: 70
* @lines: 114
* @copyright: Copyright © 2018-2020 Kaven. All Rights Reserved.
* @description: [description]
* @license: [license]
********************************************************************/
export var SSOAction;
(function (SSOAction) {
SSOAction["Login"] = "Login";
SSOAction["Verify"] = "Verify";
SSOAction["Logout"] = "Logout";
SSOAction["NotifyLogout"] = "NotifyLogout";
})(SSOAction || (SSOAction = {}));
export var SSOVerifyError;
(function (SSOVerifyError) {
SSOVerifyError["TokenNotExist"] = "TokenNotExist";
SSOVerifyError["TokenInvalid"] = "TokenInvalid";
SSOVerifyError["TokenSignatureNotMatch"] = "TokenSignatureNotMatch";
SSOVerifyError["TokenClientIdNotMatch"] = "TokenClientIdNotMatch";
SSOVerifyError["JWTSecretNotExist"] = "JWTSecretNotExist";
SSOVerifyError["SSOTypeInvalid"] = "SSOTypeInvalid";
})(SSOVerifyError || (SSOVerifyError = {}));
export const DefaultSSOParameterName = {
Action: "Action",
AppID: "AppID",
UserID: "UserID",
ReturnTo: "ReturnTo",
NotifyTo: "NotifyTo",
SessionID: "SessionID",
Token: "Token",
Data: "Data",
};
export class KavenSSO {
Secret;
ParameterName = DefaultSSOParameterName;
TokenName = "KAVEN-UNIFORM-SSO-TOKEN";
EnableLog = false;
constructor(secret, parameterName, tokenName) {
this.Secret = secret;
if (parameterName) {
this.ParameterName = parameterName;
}
if (tokenName) {
this.TokenName = tokenName;
}
}
}