Javascript SPA,使用Hello.js社交登录验证用户,并验证ASPNET5 C#WebApi后端的令牌



我想创建一个使用Angular2作为前端,使用新的ASPNET 5 WebApi作为后端的应用程序,但当涉及到身份验证/授权时,尽管阅读了所有内容,我觉得我完全没有抓住要点。。。

理想情况下,我想使用Hello.js使用身份提供商(如谷歌或脸书)对用户进行身份验证,我真的不想为用户进行任何形式的本地注册。然后我还想使用ASPNET5WebApi后端来访问我的数据库。

这篇文章准确地描述了我想要的东西,但不是用ASPNET5WebApi后端:https://ole.michelsen.dk/blog/social-signin-spa-jwt-server.html

我不确定我是否正确理解流程:从身份提供者接收到访问令牌后,SPA应将其发送/转发到后端进行验证。WebApi后端应该根据提供者对其进行验证(至少是第一次),并创建自己的令牌(JWT)发送到SPA。SPA只是存储它(本地存储或会话存储),结果是用户登录到我的应用程序中。

这是正确的吗?我想要实现的目标可能实现吗?

我已经研究过其他选项,如OpenIddict、IdentityServer3/4,但据我所知,我会使用这些选项创建自己的身份提供程序,但这并不是我真正需要的。我误解了吗?

谢谢。

据我所知,您想要:

  • 与谷歌的身份验证(你不想使用谷歌访问令牌使用谷歌资源)

  • 使用jwt令牌对web api后端进行授权。

因此,您需要Identity Server3/4、OpenIddict或编写自己的实现来创建jwt令牌。还有一个类似的问题,答案很好(尤其是@Tseng的答案)。

有关在客户端(angular2)管理jwt令牌,请参阅以下链接:

https://auth0.com/blog/2015/11/10/introducing-angular2-jwt-a-library-for-angular2-authentication/

https://damienbod.com/2016/03/02/angular2-openid-connect-implicit-flow-with-identityserver4/

这里有一个简单的答案。使用https://auth0.com/它在小范围内是免费的,所有细节都由您处理。良好的样本和良好的开源参与者。没有任何关系,只是一个粉丝。

最新更新