为了账号安全,请及时绑定邮箱和手机立即绑定

我应该在我的应用程序上使用 OAuth 2 的哪个工作流

我应该在我的应用程序上使用 OAuth 2 的哪个工作流

喵喵时光机 2022-09-22 20:01:04

这个问题更具理论性,所以我不知道它是否应该在这里。我想使用 OAuth2 对我的用户进行身份验证。我在谷歌上搜索,发现OAuth 2有很多工作流程,我不知道该用什么。

我的前端是在 React 中开发的,我的后端是在带有弹簧靴的 java 上开发的。

用户保存在数据库或 ldap 服务器上,具体取决于用户要使用的服务器。

我的应用程序也是一个单页应用,它唯一刷新的时间是用户注销时。

感谢您的帮助!


查看完整描述

4 回答

?
守着一只汪

TA贡献1545条经验 获得超3个赞

我认为你对OAuth2产生了一些误解。OAuth2 是一种授权协议。如果要开发身份验证系统,则不适合您。

弹簧安全或阿帕奇Shiro框架将更适合您的身份验证系统。

如果您的后端系统想要向客户端授予某些权限。然后您可以使用OAuth2.例如,如果您的客户的任何人想要授权第三方服务访问您的资源,那么OAuth2将是最佳选择。


查看完整回答
反对 回复 2022-09-22
?
牧羊人nacy

TA贡献1539条经验 获得超7个赞

oAuth2中有4种授权类型,适用于不同的场景。参考 :使用我们自己的解决方案保护现有 API

看起来就是你要找的那个。password credential

Resource owner password credential (ROPC):使用者(应用)使用使用 apikey、机密、用户名和密码创建的持有者令牌进行调用。主要用于您(您的授权服务器)已经知道用户(用户数据库在您自己的系统中处理)。


查看完整回答
反对 回复 2022-09-22
?
慕桂英3389331

TA贡献1703条经验 获得超8个赞

恐怕你的追求不够具体。但是,要了解要使用的体系结构和 OAuth2 流,请查看适用于基于浏览器的应用 RFC 的 OAuth 2.0。有几个选项 - 您可以将 SPA 或其后端用作 OAuth2 客户端。看看类似的SO问题,比如这个

然后,出于身份验证目的,了解开放Id连接(OAuth2扩展)及其ID令牌。若要获取有关用户的信息,可以使用 ID 令牌或用户信息点


查看完整回答
反对 回复 2022-09-22
?
DIEA

TA贡献1491条经验 获得超2个赞

正如紫龙已经解释的那样,OAuth2是授权协议。但是OAuth2并不完全特定于Java,但它也可以与React一起使用。你可以用这个链接来获取 React + Java OAuth2 的示例。我想这就是你要找的。


查看完整回答
反对 回复 2022-09-22

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信