gpt4 book ai didi

authentication - 将 IdentityServer 4 与 ASP.NET Core Identity 一起使用的附加值(value)是什么?

转载 作者:行者123 更新时间:2023-12-04 19:50:53 25 4
gpt4 key购买 nike

TL;博士 - 标题:)

背景故事:
我正在构建一组应用程序(包括 RESTful API 和几个客户端 - 纯 Web 应用程序和移动应用程序)。
所有核心 API 都将写入 ASP.NET Core .
我想解决身份验证授权问题。

我不想使用云或外部服务,因为关闭所有用户相关数据是我的首要任务(包括密码)。

从我读到的,似乎是 ASP.NET Core Identity提供与所需的身份验证和授权相关的所有功能和流程。我可以自己管理整个用户群,包括散列密码以及与用户相关的所有数据。它是抽象和具体的集合(如果需要,我可以扩展)。

我还读到我可以与 IdentityServer 4 集成.据我了解,它为我提供了额外的安全层,我可以将其用作安全 token 服务 (STS),并为我提供 OAuth 2.0 授权和 OpenID 身份验证的实现,这很棒,但是.. . 是吗?我只是想了解使用它有什么好处。

我的问题有两部分:

  • ASP.NET 核心 Identity 和 IdentityServer 4 之间有什么关系?
    IdentityServer 4 是否提供了 ASP.NET Identity 提供的抽象的一些(不同)具体?
    我想知道 ASP.NET Identity 和 IdentityServer 4 之间的关系。
  • 使用 IdentityServer 4 进行开发的成本是多少?它是直截了当的,还是实现起来并不容易?
  • 一个额外的问题:) - 有没有其他选择?你会选择什么?为什么?

  • the following question有一个很好的答案,它回答了我的很多问题,但我仍然想要一个特定于我的问题的答案。

    提前致谢!

    最佳答案

    好吧,如果现在还不明显:您无法使用 ASP.NET Core Identity 创建 jwt/bearer token 。

    ASP.NET Core Identity 使用 cookie 中间件,它有一些缺点。使用授权中间件,您可以使用不记名/jwt token ,但您不能创建自己的 token 。这就是 ASOS 和 Identity4 缩小差距的地方。

    使用 cookie 有几个缺点,包括它通常生命周期很长,而 JWT token 的生命周期通常很短(5 到 10 分钟)并且通过身份 token 刷新。

    因此,万一有人通过窃听流量获得了不记名 token , token 的有效期很短,攻击者无法在没有 id token 的情况下刷新它。

    其次,cookie 更容易受到 XSS 的攻击,而承载 token 是按请求发送的,并且只容易受到 XSRF 的攻击,而 XSRF 可以更容易地通过 AntiForgery token 进行保护。另见此 answer关于安全堆栈交换。

    关于authentication - 将 IdentityServer 4 与 ASP.NET Core Identity 一起使用的附加值(value)是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42537571/

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