如何处理登录期间通过 UI 向 API 发布用户凭据

How to handle posting user creds during login via the UI to an API

我正在构建一个与 REST API (.net core) 对话的 angular 应用程序前端。我现在的问题是当我 post 将数据发送到 api?

时,我应该如何处理敏感信息 (username/password)

例如,我现在拥有的前端在请求正文中以纯文本形式提交 username/password。这看起来很糟糕,对我来说一点也不安全,因为如果你打开开发工具,你可以看到 post 正文中的信用,如下所示:

{
  "username": "test",
  "password": "test"
}

然后在后端执行此操作并将结果与​​数据库中保存的内容进行比较:

string hash = Convert.ToBase64String(KeyDerivation.Pbkdf2(
    password: password,
    salt: salt,
    prf: KeyDerivationPrf.HMACSHA1,
    iterationCount: 10000,
    numBytesRequested: 128 / 8
));

如果匹配,我会发回令牌和 Bob's Your Uncle,您已登录。

如何以更好的方式从我的 UI -> API 发送积分?

谢谢!

发送用户名和密码主要是通过执行 Http post。

运行 您在 ssl (Https) 上的应用确保您的数据传输不会被拦截。