企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
### 28.1.2 资源服务器 为了使用access token,你需要一个资源服务器(可以跟授权服务器是同一个)。创建资源服务器很简单,只需要添加`@EnableResourceServer`,提供一些配置以允许服务器解码access token。如果应用也是授权服务器,由于它知道如何去解码tokens,所以也就不需要做其他事情。如果你的app是独立的服务,那你就需要给它添加以下可选配置中的某一项: * `security.oauth2.resource.user-info-uri`用于`/me`资源(例如,PWS的`https://uaa.run.pivotal.io/userinfo`)。 * `security.oauth2.resource.token-info-uri`用于token解码端点(例如,PWS的`https://uaa.run.pivotal.io/check_token`)。 如果`user-info-uri`和`token-info-uri`都指定了,你可以设置flag筛选出最想要的那个(默认`prefer-token-info=true`)。 另外,如果token是JWTs,你可以配置`security.oauth2.resource.jwt.key-value`解码它们(key是验签的key)。验签的键值可以是一个对称密钥,也可以是PEM编码的RSA公钥。如果你没有key,并且它是公开的,你可以通过`security.oauth2.resource.jwt.key-uri`提供一个下载URI(有一个"value"字段的JSON对象),例如,在PWS平台上: ``` $ curl https://uaa.run.pivotal.io/token_key {"alg":"SHA256withRSA","value":"-----BEGIN PUBLIC KEY-----\nMIIBI...\n-----END PUBLIC KEY-----\n"} ``` **注** 如果你使用`security.oauth2.resource.jwt.key-uri`,授权服务器需要在应用启动时也运行起来,如果找不到key,它将输出warning,并告诉你如何解决。