Authentication 在KeyClope中使用OpenID Connect的两个用例之间有什么区别?(客户端与应用程序)

Authentication 在KeyClope中使用OpenID Connect的两个用例之间有什么区别?(客户端与应用程序),authentication,oauth,authorization,keycloak,openid-connect,Authentication,Oauth,Authorization,Keycloak,Openid Connect,我对SSO和Keyclope的概念非常陌生。我正试图阅读keybeave的官方文档。在“支持的协议”部分()中,文档讨论了使用OIDC的两个用例,如下所示: “第一个是一个应用程序,它要求KeyClope服务器对用户进行身份验证。成功登录后,应用程序将收到身份令牌和访问令牌。标识令牌包含有关用户的信息,如用户名、电子邮件和其他配置文件信息。访问令牌由域进行数字签名,并包含访问信息(如用户角色映射),应用程序可以使用这些信息来确定允许用户在应用程序上访问哪些资源 第二种类型的用例是希望访问远程服务

我对SSO和Keyclope的概念非常陌生。我正试图阅读keybeave的官方文档。在“支持的协议”部分()中,文档讨论了使用OIDC的两个用例,如下所示:

“第一个是一个应用程序,它要求KeyClope服务器对用户进行身份验证。成功登录后,应用程序将收到身份令牌和访问令牌。标识令牌包含有关用户的信息,如用户名、电子邮件和其他配置文件信息。访问令牌由域进行数字签名,并包含访问信息(如用户角色映射),应用程序可以使用这些信息来确定允许用户在应用程序上访问哪些资源

第二种类型的用例是希望访问远程服务的客户机。在这种情况下,客户端要求keydape获取一个访问令牌,它可以使用该令牌代表用户在其他远程服务上调用。KeyClope对用户进行身份验证,然后请求用户同意向请求它的客户端授予访问权限。然后,客户端接收访问令牌。此访问令牌由域进行数字签名。客户端可以使用此访问令牌对远程服务进行REST调用。REST服务提取访问令牌,验证令牌的签名,然后根据令牌中的访问信息决定是否处理请求。”

我不明白的是:在第一段中,它谈到了一个发出请求的应用程序,在第二段中,它谈到了一个客户机。但是,应用程序不算是客户机吗?为什么会有具体的区别?有人能举一个第二部分提到的远程服务的例子吗

多谢各位

但是应用程序不算是客户机吗?为什么会有这种特殊的区别?有人能举一个第二部分讨论的远程服务的例子吗

是的,正是这样。区别的原因是,可能有许多应用程序,而不仅仅是这一个客户端。而授权用户的客户端可能希望访问所有其他应用程序的数据

例如,以谷歌生态系统为例。谷歌电子邮件是否可以访问驱动器、照片等。虽然它可以开箱即用,但它没有。你需要明确允许电子邮件“脱机访问”其他应用程序,即使它们都是同一平台的一部分

KeyClope理解这一点,并提供了术语。但这有点令人困惑,因为这不是思考这个问题的最佳方式。相反,更好的解释是,只有用户和服务客户端。服务客户端都相互交谈并要求用户提供数据。而用户可能通过直接访问一个应用程序来获取数据其他应用程序可能也需要该用户的数据

假设您希望实际允许一个服务从另一个服务请求用户数据,您希望使用支持授权的服务,而不仅仅是身份验证