使用 OAuth 2.0 而不是没有第三方客户端的自定义 Spring authentication/authorization 服务器有什么好处?
any benefits using OAuth 2.0 instead of a custom Spring authentication/authorization server withoud third-party clients?
我想使用 Spring 开发一个 (REST API) 网络应用程序,对于 authentication/authorization 我正在考虑使用 OAuth 2.0,但我不确定 OAuth 是否可用是不是一个好的选择。
关于我的应用程序的一些信息:
1 - 完全 RESTful API.
2 - 微服务架构。
3 - 将 API 用于网页(可能是 SPA)和移动应用程序(android 和 ios)。
4 - API 将仅由我们的开发人员(网站开发人员和移动应用程序开发人员)使用,而不会被其他第三方开发人员使用(据我所知 OAuth 的主要目的是用于第三方应用程序)。
根据给定的信息,使用 OAuth 而不是带有 JWT 的自定义 Spring authentication/authorization 服务器是个好主意吗?如果是,有什么好处?
我过去经验的一些缺点和优点:
缺点:
- OAUTH 身份验证负载将包含:用户名、密码、grant_type、client_secret 和 client_id.
最后两个是针对第三方登录的,对你的应用和客户端有意义吗?
- Spring OAUTH 是一个强大的库,会在幕后做很多事情。如果您需要自定义行为,找到合适的挂钩会有点棘手。
- 与简单的 username/password 登录相比,开发时间更长(客户端和服务器)。
优点:
- 该协议有详细的文档记录,因此您在记录应用程序时的开销会更少。
- 与第三方集成会更容易(如果需要的话)。
P.S 在您的初始迭代中,您可以从简单登录开始,然后添加第三方集成(两者可以协同工作)
我想使用 Spring 开发一个 (REST API) 网络应用程序,对于 authentication/authorization 我正在考虑使用 OAuth 2.0,但我不确定 OAuth 是否可用是不是一个好的选择。
关于我的应用程序的一些信息:
1 - 完全 RESTful API.
2 - 微服务架构。
3 - 将 API 用于网页(可能是 SPA)和移动应用程序(android 和 ios)。
4 - API 将仅由我们的开发人员(网站开发人员和移动应用程序开发人员)使用,而不会被其他第三方开发人员使用(据我所知 OAuth 的主要目的是用于第三方应用程序)。
根据给定的信息,使用 OAuth 而不是带有 JWT 的自定义 Spring authentication/authorization 服务器是个好主意吗?如果是,有什么好处?
我过去经验的一些缺点和优点:
缺点:
- OAUTH 身份验证负载将包含:用户名、密码、grant_type、client_secret 和 client_id. 最后两个是针对第三方登录的,对你的应用和客户端有意义吗?
- Spring OAUTH 是一个强大的库,会在幕后做很多事情。如果您需要自定义行为,找到合适的挂钩会有点棘手。
- 与简单的 username/password 登录相比,开发时间更长(客户端和服务器)。
优点:
- 该协议有详细的文档记录,因此您在记录应用程序时的开销会更少。
- 与第三方集成会更容易(如果需要的话)。
P.S 在您的初始迭代中,您可以从简单登录开始,然后添加第三方集成(两者可以协同工作)