我想使用Spring开发一个(REST API(web应用程序,对于身份验证/授权,我正在考虑使用OAuth 2.0,但我不确定OAuth是否是一个好的选择。
关于我的应用程序的一些信息:
1-完全RESTful API。
2-微服务架构。
3-为网页(可能是SPA(和移动应用程序(android和ios(使用API。
4-API将只供我们的开发人员(网站开发人员和移动应用程序开发人员(使用,而不会供其他第三方开发人员使用(据我所知,OAuth的主要用途是用于第三方应用程序(。
根据给定的信息,使用OAuth而不是使用JWT的自定义Spring身份验证/授权服务器是个好主意吗?如果是,有什么好处?
我过去的经验中的一些缺点和优点:
缺点:
- OAUTH身份验证负载将包含:用户名、密码、grant_type、client_secret和client_id。最后两个是特定于第三方登录的,它们对您的应用程序和客户端有意义吗
- Spring OAUTH是一个强大的库,它将在幕后做很多工作。如果您需要自定义行为,那么找到合适的钩子会有点困难
- 与简单的用户名/密码登录相比,开发时间更长(客户端和服务器(
优点:
- 协议有很好的文档记录,因此在记录应用程序时开销会更小
- 将更容易与第三方集成(如果需要的话(
p.S在最初的迭代中,您可以从简单的登录开始,然后添加第三方集成(两者可以协同工作(