angular - 使用 Angular 2 和 Flask 进行用户身份验证
问题描述
我在 Angular 2 中申请了用户登录和注册,但登录后我无法验证用户身份(即检查用户是否已登录)。我已经在烧瓶中开发了我的后端。
任何人都可以帮助我如何保持用户的真实性。
login.component.ts 是:
import { Component,OnInit } from '@angular/core';
import {AuthService} from '../services/auth.service';
import {User} from '../models/user';
@Component({
selector: 'login',
templateUrl: `./login.component.html`
})
export class LoginComponent {
user: User = new User();
constructor(private auth: AuthService) {}
onLogin(): void{
this.auth.login(this.user)
.then((user) => {
console.log(user);
})
.catch((err) => {
console.log(err);
});
}
auth.service.ts
import { Injectable } from '@angular/core';
import {HttpClient, HttpErrorResponse,HttpHeaders} from '@angular/common/http';
//import 'rxjs/add/operator/toPromise';
import {API_URL} from '../env';
import {map,catchError} from 'rxjs/operators';
import { throwError } from 'rxjs';
@Injectable()
export class AuthService {
test(): string {
return 'working';
}
constructor(private http: HttpClient) {}
httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json',
'Authorization': 'my-auth-token'
})
};
private static _handleError(err: Response | any) {
return throwError(err || 'Error: Unable to complete request.');
// return "error"
}
login(user) : Promise<any>{
return this.http.post(`${API_URL}/login`,user, this.httpOptions).toPromise()
catchError(AuthService._handleError)
}
在我的烧瓶后端,我实现了登录方法如下:
@app.route('/login', methods = ['POST'])
def login():
data1 = request.get_json(force=True)
mydoc = mycol.find(data1)
y = None
for x in mydoc:
print(x)
y = x
if (y == None):
return jsonify({'error': 'error'})
else :
return jsonify({'done':'done'})
解决方案
推荐阅读
- sql - “列不属于引用表”为什么?
- python - AWS BOTO3 连接到 MS SQL 数据库时出错
- javascript - Alert() 在 else 语句中无法正常工作
- microsoft-graph-api - 用于获取消息的 MS 图形 API 返回已删除消息的无效 parentFolderId
- python - 使用机器学习将 PDF 转换为 XML
- jenkins - 如何在 Jenkinsfile 中克隆私有 gitlab 存储库
- javascript - 无法显示值
- amazon-web-services - AWS Pinpoint - 未找到资源作为响应
- javascript - 如何在 React 中使用 N 个对象更新二维数组的状态?
- reactjs -