Angular 2和.NET Web API身份验证

时间:2017-03-07 06:02:27

标签: angular asp.net-web-api

在Angular 2和.NET Web API之间使用用户名和密码验证系统的最佳方法是什么?

3 个答案:

答案 0 :(得分:7)

首先尝试避免使用自己实现的方法。 最常用的方法是使用Json web tokenhttps://jwt.io/ 登录时,将Token返回到angular2,然后在每次请求时传递它。 有许多实现示例和要使用的库。 https://github.com/auth0/angular2-jwt

How to use JWT in MVC application for authentication and authorization?

答案 1 :(得分:1)

最好的方法是使用名为IdentityServer的软件包。我已经编写了一个关于它的教程,但是使用了一个旧版本,但它会给你一个好主意:

https://www.linkedin.com/pulse/securing-net-core-web-api-identityserver4-resource-owner-dalvandi

答案 2 :(得分:-4)

最佳做法是使用基本身份验证并将您的用户名和密码放在标头中。在客户端,您必须在标题中添加用户名和密码:

var user = 'user';
var password = 'password';
var base64encodedData = new Buffer(user + ':' + password).toString('base64');

将此标题添加到您的所有http请求中:

'Authorization': 'Basic ' + base64encodedData

在服务器端this link可以帮助您解密用户名和密码。不要忘记阻止Man in middle attack,api需要https。