gpt4 book ai didi

authentication - ASP .NET Core Identity 默认身份验证与 JWT 身份验证

转载 作者:行者123 更新时间:2023-12-04 00:25:51 29 4
gpt4 key购买 nike

我正在开发 ASP NET Core Web API,但我对选择身份验证方法感到困惑。我曾经应用默认的 Asp Net Identity 身份验证,但最近我知道了 JWT。所以我几乎按照本文中的方式实现了身份验证:https://stormpath.com/blog/token-authentication-asp-net-core .
但我无法理解这个 JWT 的好处。使用简单的 Asp Net Identity Authentication,我不关心 token 存储等。我只需要使用 signInManager 登录并使用授权方法直到注销。使用 JWT,我需要考虑 token 存储、过期和其他困难。那么,这个 JWT 有什么好处呢?登录后如何存储此 JWT token ?此外,我什至应该使用这个 JWT 吗?在我的情况下,我需要对简单的 WebApi 进行简单的身份验证,它将被一个或更多的用户使用。我也听说过 OpenIddict、Auth0、IdentityServer,那么所有这些身份验证机制之间有什么区别?

最佳答案

这就是我理解的方式,分为 3 个逻辑部分。

  • 身份验证服务器 - 这将验证并发出 JWT token ,当 API 需要验证 token 时,它会将 token 发送到此服务器以进行验证。
  • 客户端 - 这是为您的网页或您的应用程序服务的内容。这是请求和存储 JWT token 所需的内容。客户端每次请求数据时都需要将 token 传递给 api。
  • API - 这是提供信息并需要使用身份验证服务器验证 token 的内容。

  • So, what're the benefits of this JWT?



    JWT 发给客户端并存储在客户端。拥有 JWT 允许多个客户端(应用程序或网站)使用相同的身份验证服务器,该服务器分发 JWT 并说明客户端可以使用哪些 API 以及如何使用。

    How can I store this JWT token after login?



    我只尝试将它存储在使用具有存储模块的 angular 2 的 Ionic 2 应用程序中。但我很确定很多人已经这样做了,并问了这个问题:

    Simple JWT authentication in ASP.NET Core 1.0 Web API

    Token Based Authentication in ASP.NET Core (refreshed)

    更新
    如果您的前端是纯 html/js/css 并且没有后端来容纳它,您可以将 token 存储在本地存储中,有多个 npm 包可以帮助您解决此问题 like this one .您想寻找隐式流。

    否则,如果您确实有前端附带的后端,您希望将 token 存储在您选择的 session /数据库中,则有 3rd 方提供商可以执行此操作,例如 IdentityServer4。您想使用混合流

    Furthermore, should I even use this JWT? In my case, I need simple authentication for simple WebApi which will be used by one or little bit more users.



    完全分离关注点的原因是性能,所以你并不真正需要它,因为它只是一个或更多的用户。 这样做是因为它是一种学习体验,JWT 从一开始就不容易设置,需要你做大量的阅读,你会失败,你会感到沮丧,但最后你会知道如何设置它以及如何设置它它有效

    I've also heard about OpenIddict, Auth0, IdentityServer, so what's the difference between all of these authentication mechanisms?



    所以你在 Stormpath 教程中所做的还没有准备好生产。这只是一个小演示,以帮助您了解 JWT 是什么以及它是如何工作的。上面提到的是完整的库,可以解决所有繁重的工作,并且不需要您从头开始构建整个东西。它们之间的主要区别在于它们涵盖的范围。

    我个人使用的是 IS4,它让我哭了不超过 2 次(比我想象的要简单):
    http://identityserver4.readthedocs.io/en/release/

    https://github.com/openiddict/openiddict-core

    https://auth0.com/docs/quickstart/webapp/aspnet-core/00-intro

    关于authentication - ASP .NET Core Identity 默认身份验证与 JWT 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43432165/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com