由于某些要求和限制,将SPA Web应用程序(Angular)和ASP Core Web API从Auth0身份验证提供程序迁移到Identity框架。
直到现在,一切都由auth0处理,而我并未对身份验证的整个过程进行过多考虑。我只需要将用户重定向到auth0托管的登录页面即可处理所有内容,并使用访问令牌进行回调,然后将其用于对API的调用,而API只会验证JWT。
现在我需要手动完成所有操作,我有些困惑。我希望有多个身份验证选项:电子邮件/密码或OIDC身份验证提供程序,例如Google / Github。
我可以从这些OIDC提供者那里获得访问令牌,没有太大问题。但是,我该如何精确地使用它,或者更确切地说,如何配置Identity框架来处理其余的内容而又不做大量的手工工作呢?所有用户在Identity Framework用户类中都有很多其他数据,我不确定如何将其连接到OIDC令牌。
很抱歉,我提出了一个抽象的问题,我想我遗漏了一些小细节,但此刻我真的很困惑。
答案 0 :(得分:1)
其中很多已经存在,因此要测试OIDC令牌,您只需要使用的API接受它们即可。
为此,您需要进行一些配置,可能与Auth0相同。由于这里依赖外部提供程序,因此我将发布一个链接:
提供程序是您所提供的提供程序的补充,并且Identity引用为ExternalProviders
通常,这很容易。可能遗漏了一些东西,因为我不知道您的确切用例。
因此,您使用的是身份提供程序,以前是Auth0,现在是另一个(或自定义)身份提供程序。
为简单起见,请简要回顾一下您的用例:
UserStore
测试的特定身份验证方法。这些可能需要使用AD,身份用户名/密码或类似的东西进行管理。因此,对于设置,您必须执行以下操作:
Identity框架中已有很多这样的功能。 here上有一篇文章。
如果您愿意做一个很好的练习(和大量的工作),则也可以尝试使用IdentityServer4
完全定制化的东西。