AuthServices.js
Home
/
FileServer /
SPA /
src /
JS /
Services /
AuthServices.js
import ApiQuery from '../Tools/ApiQuery'
export default class AuthServices {
constructor() {
this.URL_Auth = "api/Auth/Auth";
this.URL_UserInfo = "api/Auth/UserInfo";
this.URL_SetUserInfo = "api/Auth/SetUser";
this.AuthCoockieName = "AuthToken";
}
async AuthAsync(login, password) {
return await ApiQuery(this.URL_Auth, "Post",
{
Login: login,
Password: password
}).then(function (data) {
if (data.Successe) {
this._SetTocken(data.Token);
}
else {
this._SetTocken("");
}
return data;
}.bind(this));
}
Logout() {
this._SetTocken("");
}
async GetUserInfoAsync() {
return await ApiQuery(this.URL_UserInfo, "Post")
.then(function (data) {
if (data.Successe) {
this._SetTocken(data.Token);
}
else {
this._SetTocken("");
}
return data;
}.bind(this));
}
async SetUserInfo(Password) {
return await ApiQuery(this.URL_SetUserInfo, "Post",
{ Password: Password })
.then(function (data) {
return data;
}.bind(this));
}
//Возвращает true если пользователь авторизован
IsAuth() {
let token = this._GetTocken();
return token != "";
}
_getCookie(name) {
let matches = document.cookie.match(new RegExp(
"(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
));
return matches ? decodeURIComponent(matches[1]) : "";
}
//Токен авторизации
_GetTocken() {
return this._getCookie(this.AuthCoockieName);
}
//задать токен
_SetTocken(val) {
document.cookie = this.AuthCoockieName + "=" + val;
}
}