0

我正在尝试使用

  1. 点网核心 1.0
  2. MySQL 作为数据存储
  3. 认证和授权
  4. 实体框架
  5. Ubuntu 16 机器

我已经成功创建了一个示例 API,以使用实体框架从 MySQL 数据库中获取数据。现在我想介绍使用电子邮件作为用户名和密码的身份验证。

我尝试了来自不同博客的几种方法,但无法实现。

我想要实现的是 api 的自定义身份验证,用户将在其中发送用户名和密码来登录 Api。登录 Api 将返回访问令牌和刷新令牌。使用此访问令牌,用户可以调用其他 API。

稍后我也想添加 Google 和 Facebook 身份验证。

有没有办法做到这一点?

4

2 回答 2

1

你想达到的一切都是可能的。但是有一些警告。

是的,你可以这样做。您将需要使用在 identityserver 4 中默认关闭的资源所有者授权。我怀疑这样做的原因是因为将用户凭据传递到应用程序是一种反模式,它通常用于支持遗留系统,而且它也不会在显式意义上对用户进行身份验证,因为凭据可能来自不受信任的来源(举个例子)。您可以在此处阅读有关赠款的一般价值。你可以在这里找到样品。

更安全的模式是使用像隐式流这样的东西,如果你不能保证客户端和你的 API 之间的信任,这是一个很好的做法。

至于社交登录,这是可能的。网上有大量样本,但这里是官方文档

于 2016-09-29T10:09:15.270 回答
0

在 github 上有一个项目,https://github.com/diogodamiani/IdentityServer4.MongoDB和一个相应的 nuget 包,它将向您发送正确的方向。这显然是 MongoDb,但同样的前提也适用。

于 2016-09-29T15:25:47.940 回答