用于多个客户端应用程序的 RemoteTokenService
Posted
技术标签:
【中文标题】用于多个客户端应用程序的 RemoteTokenService【英文标题】:RemoteTokenService for multiple client application 【发布时间】:2014-12-06 07:30:03 【问题描述】:如何将 RemoteTokenService 用于多个客户端应用程序(具有不同的 client_id 和 secret )?
更新
public ResourceServerTokenServices tokenService()
RemoteTokenServices tokenServices = new RemoteTokenServices();
tokenServices.setClientId("sample_test_client_app_auth_code");
tokenServices.setClientSecret("secret");
tokenServices.setCheckTokenEndpointUrl("http://localhost:8080/oauth/check_token");
return tokenServices;
这就是我们配置 RemoteTokenService 实例的方式。并将其注入 OAuth2AuthenticationManager 以用于单独的资源服务器和身份验证服务器。对吗?
因此,当其他一些客户端必须访问此资源时,我如何为这两个客户端配置 RemoteTokenService。您能否对此提供一些启示。并告诉我我是否有错误。
【问题讨论】:
不确定我是否理解这个问题。究竟是什么问题? @DaveSyer 问题已更新。 【参考方案1】:RemoteTokenServices
中的客户端 ID 不是使用资源的客户端,而是与资源本身关联的客户端(仅用于 /check_token 端点的身份验证)。因此,一旦它运行起来,您就可以从任意数量的客户那里获取该资源。
【讨论】:
那么如果我没看错的话,资源服务器也可以是oAuth范式下的客户端? 规范没有提到它,所以它不排除它。为了清楚起见,check_token 端点不是规范的一部分。 嗨@DaveSyer,我如何在资源服务器中获取many clients
的信息?以上是关于用于多个客户端应用程序的 RemoteTokenService的主要内容,如果未能解决你的问题,请参考以下文章
用于多个客户端的 Django + Celery + Apache mod_wsgi + Postgres + RabbitMQ 应用程序
使用 openid connect 作为 SSO 用于多个应用程序