使用OAuth 2.0而不是带有oud第三方客户端的自定义Spring身份验证/授权服务器有什么好处



我想使用Spring开发一个(REST API(web应用程序,对于身份验证/授权,我正在考虑使用OAuth 2.0,但我不确定OAuth是否是一个好的选择。

关于我的应用程序的一些信息:

1-完全RESTful API。

2-微服务架构。

3-为网页(可能是SPA(和移动应用程序(android和ios(使用API。

4-API将只供我们的开发人员(网站开发人员和移动应用程序开发人员(使用,而不会供其他第三方开发人员使用(据我所知,OAuth的主要用途是用于第三方应用程序(。

根据给定的信息,使用OAuth而不是使用JWT的自定义Spring身份验证/授权服务器是个好主意吗?如果是,有什么好处?

我过去的经验中的一些缺点和优点:

缺点:

  1. OAUTH身份验证负载将包含:用户名、密码、grant_type、client_secretclient_id。最后两个是特定于第三方登录的,它们对您的应用程序和客户端有意义吗
  2. Spring OAUTH是一个强大的库,它将在幕后做很多工作。如果您需要自定义行为,那么找到合适的钩子会有点困难
  3. 与简单的用户名/密码登录相比,开发时间更长(客户端和服务器(

优点:

  1. 协议有很好的文档记录,因此在记录应用程序时开销会更小
  2. 将更容易与第三方集成(如果需要的话(

p.S在最初的迭代中,您可以从简单的登录开始,然后添加第三方集成(两者可以协同工作(

最新更新