使用我自己的水疗中心时,OAuth2资源所有者密码凭据授权是否安全?

时间:2017-09-06 18:48:44

标签: authentication oauth-2.0 openid-connect asp.net-core-webapi

我正在构建一个带有后端api(asp.net核心)的SPA(有角度的),两者都是构建的,属于同一方。

我想使用jwt身份验证而不是基于cookie的身份验证,因为双方 - 后端和前端spa - 都是由我想使用OAuth资源所有者密码的同一方所有。授予流程,并且不应该将用户凭据暴露给Web应用程序。

在网上搜索后,我看到很多不建议使用此流程,但如果Web客户端属于同一方,为什么我应该实现任何OpenId Connect流程以及重定向到auth服务器api和auth服务器?

1 个答案:

答案 0 :(得分:1)

您的案例中的问题不在于将凭证公开给客户,因为如您所述,流程中的所有组件都由同一方控制。

然而,重定向有一些优点,因为这样做会将身份验证方法和方法与客户端本身分开。这使得例如:

  • 更改身份验证机制或升级到多因素(或某些其他高级形式)身份验证,而不会影响客户端
  • 跨不同Web应用程序的SSO
  • 详细的每客户端权限
  • 轻松访问吊销,无需更改用户密码
  • 最终用户对于他们可以信任哪些应用程序/客户的凭据更少混淆