gpt4 book ai didi

authentication - ASP.NET Core Web API + Angular 2 授权和认证

转载 作者:太空狗 更新时间:2023-10-29 17:10:42 25 4
gpt4 key购买 nike

我有 Angular 2 应用程序,它与 Web API 对话并执行一些基本的 CRUD 操作。我有几个问题:

  1. 有什么方法可以使用 ASP.NET Identity 在 Angular 2 上创建登录/注册页面?
  2. 如何处理仅与登录用户相关的数据? (基于 token 的身份验证?它是如何工作的?在哪里可以阅读它?)
  3. 如何在不将我重定向到 Identity Server 的情况下在实际的 Angular 2 应用程序上实现登录/注册过程?

看了IdentityServer4、OAuth2和OpenID的例子,有点复杂,看不懂。我经历了快速入门中的每一步,它有效,但我不明白它是如何工作的以及它的作用。

有人可以给我任何可以从哪里开始的资源吗?博客、网站、书籍、分步指南。

最佳答案

您是对的,在这一点上,在严重依赖 HTTP 的系统中,最全面的身份验证和授权解决方案是基于 OAuth 2.0 和 OpenID Connect 的。这当然包括 SPA 调用 Web API 后端的特定场景。要进一步阅读此通用案例,您可以查看 Auth0 SPA + API Architecture Scenario或查看针对您所选技术的快速入门:

注意:Auth0 支持 OAuth 2.0/OpenID Connect,因此即使文档可能具有特定于提供商的附加功能,如果您确实决定使用 OAuth 2.0/,您可能会发现它们很有用OpenID 连接路由。这是依赖标准的优势之一,更容易在实现/提供者之间切换。

但是,您还应该考虑是否真的需要完整的 OAuth 2.0/OpenID Connect,因为它们旨在解决许多不同的用例,因此也会带来显着的复杂性。如果您走这条路,建议您利用现有的库(如 IdentityServer)或云提供商(如 Auth0),因为自己实现会带来很多风险并且需要付出大量努力。

为了满足您在自己的 Angular2 前端中提供集成登录的要求,您可能会查看 OAuth2 指定的资源所有者密码凭据授予。

另一种选择是做你自己的定制解决方案,这通常不受欢迎,因为它很容易出错,但理论上是:

  1. 处理用户身份验证和注册(可能使用 ASP .NET Identity)
  2. 登录后使用一些 token 交换用户凭据,您稍后可以使用该 token 调用 API

token 可以只是一个随机(不可猜测)值,用作对某些包含关联用户信息的服务器端存储的引用。

关于authentication - ASP.NET Core Web API + Angular 2 授权和认证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39508734/

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