Spring security 从Oauth2中的另一个资源获取资源

Spring security 从Oauth2中的另一个资源获取资源,spring-security,oauth,identityserver4,spring-security-oauth2,openid-connect,Spring Security,Oauth,Identityserver4,Spring Security Oauth2,Openid Connect,下面是一个例子: 我有身份服务器、客户端应用程序和资源(API)。Identity server提供有关终结点的用户信息。如果您发送一个带有有效访问令牌的请求,您将获得有关用户的其他信息如果我需要有关资源的此信息我将如何获得它。我有两个想法: 通过客户端获取用户信息。(客户端在userinfo端点上发送请求并获取信息,然后使用请求调用API发送请求。) 资源API使用访问令牌在userinfo端点本身上创建请求。这里的问题是,若我想从令牌存储中获取令牌值,那个么它是不受支持的信息(JavaSpr

下面是一个例子: 我有身份服务器、客户端应用程序和资源(API)。Identity server提供有关终结点的用户信息。如果您发送一个带有有效访问令牌的请求,您将获得有关用户的其他信息如果我需要有关资源的此信息我将如何获得它。我有两个想法:

  • 通过客户端获取用户信息。(客户端在userinfo端点上发送请求并获取信息,然后使用请求调用API发送请求。)
  • 资源API使用访问令牌在userinfo端点本身上创建请求。这里的问题是,若我想从令牌存储中获取令牌值,那个么它是不受支持的信息(JavaSpring),所以基本上我并没有resurce服务器上的访问令牌
  • 我知道userinfo端点基本上是一种资源,所以我的问题是,如果我想从另一个资源中获取资源,并保持OAuth2和OpenID connect的所有最佳实践,该如何进行。

    访问令牌(我假设)可用于您的API,因此您可以简单地将其传递给其他API(例如userinfo端点)假设令牌包含正确的作用域


    我建议您创建自己的抽象,使您能够获取当前请求中使用的原始环境令牌,以便您可以使用它调用其他API

    解决方案是使用不同的补助金类型。最合适的是客户端凭据。需要一个身份服务器来注册一个新的客户端id和密码,该id和密码可用于交换API的访问令牌。

    奇怪的是,您需要关于具体资源的信息吗?我需要电子邮件地址。在API中,我生成pdf并将其发送给登录用户。因此,您只需要API调用userinfo端点的方法吗?是的,但为此,我需要访问令牌并将其添加到标头中,然后使用resttemplate调用它,例如,但我无法访问spring中令牌存储中的令牌。当我在accesstoken a上调用getValue时,我会得到org.springframework.security.oauth2.provider.token.store.jwk.JwkException:这个操作不受支持。在这个问题上,我发现也许这个我可以得到授权头,但我仍然想知道哪种方法更好,如果它是安全的,就这样做,或者,是否最好在客户的请求中发送电子邮件?