代码之家  ›  专栏  ›  技术社区  ›  StonM

对.Net Core中不同的用户管理选项感到困惑

  •  0
  • StonM  · 技术社区  · 2 年前

    我正在尝试为我们正在使用.Net 6创建的API选择一个标识提供程序。

    我正在寻找可以使用JWT代币的东西,也可以允许社交登录,如谷歌、linkedIn等。

    我很难准确地找到我应该做的事情,因为互联网上指向我的一切要么很简单,要么前期要花很多钱,而我们买不起自动取款机。

    我们最初决定尝试使用Azure AD B2C,但没有成功,因为我们希望完全控制登录/注册/编辑配置文件页面的外观,而我们无法使用Azure AD B2做到这一点。虽然我们可以通过图形API创建/编辑用户,但用户仍然需要访问Azure页面进行登录,这打破了整个想法。

    然后,我通过了一些类似的提供商,如Okta和Auth0,但他们与Azure AD B2C存在相同的问题。

    然后我看了一下AspNetCore.Identity,但事实证明,它是不推荐使用的,所以我想不建议再使用它了。

    我想我看了一下Duende Identity Server,但这似乎花了很多钱,而且他们的免费版本(根据他们的网站)需要经过审批程序,我们没有时间了。

    然后我找到了Microsoft.AspNetCore.Identity。EntityFrameworkCore,但访问 this website :告诉这也依赖于Duende Identity Server,所以我们回到了第3点,但同时它说这个包是麻省理工学院许可的,应该是免费的,所以我对这个非常困惑。

    除此之外,我在微软文档中所能找到的一切都指向Razor和MVC,使用他们的“个人帐户”选项,这在我的情况下是没有帮助的,因为我们希望有一个SPA应用程序,可以与API对话(也可能与其他前端)。

    请帮助选择可以帮助我们管理用户的身份服务器或某些库。

    1 回复  |  直到 2 年前
        1
  •  0
  •   Vivek Nuna Chetan sabhaya    2 年前

    你可以试试Firebase,它是谷歌旗下的一个平台,为用户管理提供免费层。Firebase还支持社交登录和JWT代币。您也可以检查IdentityServer4,它是另一个提供全功能身份服务器的.NET库。IdentityServer4是开源的,可以免费使用。我也听说过OpenIddict,它是开源的,但从未使用过。

        2
  •  0
  •   Corey Sutton    2 年前

    这是一对你可以调查的情侣!

    Firebase认证:Firebase认证是谷歌的一个基于云的身份提供商。它支持JWT代币,并为谷歌、脸书、推特等提供社交登录选项。Firebase为包括.NET在内的各种平台提供SDK,可用于将身份验证集成到API中。Firebase为UI元素(如登录屏幕)提供了自定义选项,您还可以使用Firebase Admin SDK以编程方式管理用户。

    AWS Cognito:亚马逊Cognito是另一家支持JWT代币和社交登录的基于云的身份提供商。它与AWS服务集成良好,并为包括.NET在内的各种平台提供SDK。使用Cognito,您可以使用可定制的UI组件控制身份验证流的外观。它还提供用户管理功能和功能,如电子邮件验证和密码重置。