在具有Spring Security的OAuth 2.0中resourceId是什么意思

org.springframework.security.oauth2.provider.filter中的OAuth2ProtectedResourceFilter:

Collection<String> resourceIds = auth.getClientAuthentication().getResourceIds();
if (resourceIds!=null && !resourceIds.isEmpty() && !resourceIds.contains(resourceId)) {
    throw new InvalidTokenException("Invalid token does not contain resource id ("+resourceId+"): " + token);                   
}

我认为这没有用.此代码检查什么?

最佳答案
根据我收集到的信息,它是资源服务的ID.

当您考虑为了api版本控制而分离oauth令牌提供程序servlet和资源服务器时,这一点变得更加清楚.例如,假设客户端A(cA)可以访问api1,而客户端B(cB)可以访问api2,则可以通过在api1的资源服务器xml中指示其resource-id = api1来强制执行此访问,然后配置客户端详细信息对于cA,它们具有resourceIds =“ api1”,对于[cB,api2]同样.

这样,我们就可以保护api访问并将其保护声明与客户角色声明分开.

转载注明原文:在具有Spring Security的OAuth 2.0中resourceId是什么意思 - 代码日志