提问者:小点点

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


我想创建一个应用程序,使用Angular2作为前端,使用新的ASPNET 5 WebApi作为后端,但是当涉及到认证/授权时,我觉得尽管我读了很多,但我完全没有抓住要点...

理想情况下,我想使用身份提供者(如Google或Facebook)使用Hello. js对用户进行身份验证,我真的不想为用户进行任何类型的本地注册。然后我还想使用ASPNET 5 WebApi后端访问我的数据库。

本文描述的正是我想要的,但不是ASPNET 5 WebApi后端:https://ole . michelsen . dk/blog/social-sign in-spa-jwt-server . html

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

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

我已经研究了其他选项,例如OpenIdduce、IdtyServer3/4,但据我所知,我会使用这些创建自己的身份提供者,这不是我真正需要的。我误会了吗?

谢了。


共2个答案

匿名用户

据我了解,你想要:

>

  • 使用google进行身份验证(您不想使用google访问令牌来使用google资源)

    使用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/ 它是小规模免费的,所有细节都为您处理。好的样本和好的开源参与者。没有隶属关系,只是一个粉丝。