【发布时间】:2022-01-10 16:23:50
【问题描述】:
我开发了一个带有几个端点的 .net api。它最终会被移动应用和网络应用使用。
在数据库中,我已经有了一个包含用户 ID(整数)、姓名、电子邮件的表。以及其他以用户id为外键的与用户相关的业务数据的表。
现在我想为其添加身份功能。例如:注册、登录、重置密码。
ASP.NET Core 标识:
是一种支持用户界面 (UI) 登录功能的 API。 管理用户、密码、配置文件数据、角色、声明、令牌、电子邮件 确认,等等。
问题 1: 它没有说明是否可以将其添加到 api 中。在这种情况下 - 假设移动应用程序使用 api,重置密码等功能将如何工作?会有网页生成到我的 web api 中吗?
文章进一步说:
ASP.NET Core Identity 将用户界面 (UI) 登录功能添加到 ASP.NET Core Web 应用程序。要保护 Web API 和 SPA,请使用其中一种 以下:
Azure Active Directory Azure Active Directory B2C (Azure AD B2C) 身份服务器4
问题 2: 那么是否可以向 api 添加身份但不建议这样做?
问题 3: IdentityServer4 链接将我带到外部页面,因此建议使用外部提供程序吗?
问题 4: 我有一个选项是为登录、注册等创建端点,并通过代码实现登录功能。第二个选项是让登录、注册端点使用 .net 身份,但是如果我使用 Oauth 提供程序,那么 .net 身份的意义何在?
问题 5: 还有其他推荐的选择吗?
【问题讨论】:
标签: .net asp.net-web-api