[英]How to implement Authentication and Authorization in ASP.NET Web API Core?
[英]ASP.NET Core Web API + Angular 2 Authorization and Authentication
我有Angular 2应用程序,它与Web API对话并执行一些基本的CRUD操作。 我有几个问题:
我查看了IdentityServer4,OAuth2和OpenID示例,理解起来有点过于复杂。 我快速启动了每一步,它有效,但我不明白它是如何做的。
有人可以给我任何资源,我可以从哪里开始? 博客,网站,书籍,分步指南。
您是正确的,此时在依赖于HTTP的系统中,最全面的身份验证和授权解决方案基于OAuth 2.0和OpenID Connect。 这当然包括您调用Web API后端的SPA的特定方案。 有关此通用案例的进一步阅读,您可以查看Auth0 SPA + API架构场景,或查看专注于所选技术的快速入门:
注意 :Auth0支持OAuth 2.0 / OpenID Connect,因此即使文档可能具有特定于提供程序的其他功能,如果您确实决定使用OAuth 2.0 / OpenID Connect路由,也可能会发现它们很有用。 这是依赖标准的优势之一,在实现/提供者之间切换更容易。
但是,您还应该考虑是否真的需要使用完整的OAuth 2.0 / OpenID Connect,因为它们旨在解决许多不同的用例,因此也会带来极大的复杂性。 如果您采用这种方式,建议您利用IdentityServer等现有库或Auth0等云提供商,因为执行自己的实施会带来很大的风险,需要付出巨大的努力。
为了满足您在自己的Angular2前端提供集成登录的要求,您可以查看OAuth2指定的资源所有者密码凭据授权。
另一个选择是做自己的自定义解决方案,这通常是不赞成的,因为它很容易出错,但理论是:
令牌可以是随机(不可猜测)值,用作对包含关联用户信息的某些服务器端存储的引用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.