我有一个REST API服务器,它存储用户数据并处理所有请求。前端位于另一个服务器上,然后还有一个移动应用程序。我想集成OAuth2,但对选择哪种授权类型有疑问。一方面,ROPC授权类型在我的情况下是最好的,因为我不允许任何第三方应用程序,我不希望用户被重定向到任何地方,用户永远不会直接使用我的端点,只能使用某种界面(前端或移动GUI)。那么,这里有什么可能的选择呢?
通常是授权代码授予。我想你问这个问题,是因为你听说ROPC使用起来很不安全,应该尽量避免使用?这是对的。使用授权代码授予。更好:使用PKCE授权代码授予。(PKCE在移动应用程序上是强制性的,在web应用程序上也是一个很好的实践)我知道授权码一开始可能看起来很复杂,但它确实是使用OAuth的方法。
Okta Blog to PKCE