我正在使用 authlib 为 oidc 提供程序服务器。我使用example-oauth2-server作为学习工具。我试图理解为什么在数据库模式中,User_ID 与客户端相关联。我知道这是一个 oauth2 服务器,而不是 oidc。但混乱仍然存在。我是否打算为每个人类/服务用户注册一个客户?这不是 oauth2 或 oidc 的要求,对吧?事实上,oidc 客户端注册文档中根本没有关于与客户端元数据相关的 user_id 字段的内容。
在我使用的另一个 oidc 库中,由于缺少更好的短语,注册是“用户不可知的”。我无法理解为什么不应该这样。我的意思是,我可以为每个用户创建一个客户端,但是如果我想要一个能够通过我的 oidc 提供程序进行身份验证和授权的 Android 应用程序,我为什么要这样做呢?我不能通过将 user_id 存储在其他表中来实现类似的事情(假设目的是具体识别哪个用户正在登录,您可以通过所述特定用户正在登录的事实来确定)吗?
任何方向甚至讨论都将不胜感激。