oauth2设计一个数据库来存储Map到给定用户的oauth2客户机细节?

xzabzqsa  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(337)

背景

我正在尝试创建一个面向公众的api,它是在oauth2工作流后面封闭的。我发现了使用jpa repositories/spring-oauth2的示例数据库设计,这是我正在使用的框架。我基本上有一个应用程序,它目前正在使用inmemory身份验证,我正在尝试将其转换为使用jpa存储库和关系数据库设计从数据库中提取数据。
我确实找到了这个家伙,但问题是它不能解释数据之间的关系。
ie我希望我可以将作用域拆分成一个单独的表,这样就可以简单地添加其他作用域,以便以后应用程序可以使用。我还考虑添加对oauth客户机类型的支持,例如bot、网站、桌面应用程序、移动应用程序等。
我假设他们之间有某种关系 oauth_approvals , oauth_refresh_token , oauth_client_token 以及 oauth_client_details . 我还想确保可以将oauth客户机Map到 user . 最终我希望他们能够有多个客户。
对于我当前的用例来说,拥有这个流肯定是太过了,但是我使用这个应用程序来学习不同的技术。

我现在拥有的

我相信这可以做得更好,如果是这样怎么做?

问题

如何正确地建立oauth客户机的不同组件之间的关系?
我怎样才能正确地允许一个用户拥有多个客户端呢?
如何从数据库中动态地获取客户机,或者通过 ClientDetailsServiceConfigurer.jdbc() ?
如何向流中添加客户机类型?
如果你有其他问题,让我知道,我会非常乐意更新我的问题。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题