我正在为oidc提供程序服务器使用authlib。我正在使用example-oauth2-server作为学习工具。我试图理解为什么在数据库架构中,User_ID绑定到客户端。我知道这是一台oauth2服务器,而不是oidc。但是混乱仍然存在。我是否要为每个人员/服务用户注册客户端?这不是oauth2或oidc的要求吗?实际上,oidc client registration docs中与用户元数据有关的user_id字段完全没有。
在我使用的另一个oidc库中,由于缺少更好的短语,注册是“用户不可知的”。我无法绕开为什么不应该这样。我的意思是,我可以为每个用户创建一个客户端,但是如果我想要一个可以通过我的oidc提供程序进行身份验证和授权的Android应用程序,为什么还要这么做呢?我是否可以通过将user_id存储在其他表中来实现类似目的(假设目的是专门标识正在登录的用户,您可以通过确定该特定用户正在登录的事实来确定该用户)?
任何方向甚至讨论都将不胜感激。