У меня есть идея создать базовое приложение для аутентификации сеанса, и оно работает, но я могу войти в систему с одним и тем же пользователем в двух разных браузерах.
У кого-нибудь есть идеи, как создать метод аутентификации, чтобы избежать the double login?
Мое приложение на самом деле использует Angular версии 5 и, как и бэкэнд Django Rest Framework, это мой настоящий метод auth service.ts :
private apiRoot = 'http://127.0.0.1:8000/auth/';
islogedin: boolean;
constructor(private http: HttpClient) { }
private setSession(authResult) {
const token = authResult.token;
const payload = <JWTPayload> jwtDecode(token);
const expiresAt = moment.unix(payload.exp);
localStorage.setItem('token', authResult.token);
localStorage.setItem('expires_at', JSON.stringify(expiresAt.valueOf()));
}
get token(): string {
return localStorage.getItem('token');
}
login(username: string, password: string) {
return this.http.post(
this.apiRoot.concat('login/'),
{ username, password }
).pipe(
tap(response => this.setSession(response)),
shareReplay(),
);
}