使用@EnableResourceServer 401的无效令牌未经授权

时间:2019-11-28 18:59:06

标签: spring-boot allegro

我有一个Spring Boot应用程序:

开始应用课程:

@SpringBootApplication
@EnableResourceServer
public class ApiApplication extends SpringBootServletInitializer {

public static void main(String[] args) {
    SpringApplication.run(ApiApplication.class, args);
}

@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
    return builder.sources(ApiApplication .class);
 }
}

RestController:

@RestController
public class CodeController {
    @GetMapping("/protected")
    String show(){
        return "show msg";
    }
}

application.properties:

security.oauth2.resource.user-info-uri=https://api.github.com/user

我已经使用github生成了承载者令牌,并且一切正常。接下来,我向

发送请求
https://mydomain/protected

使用 Advanced Rest Client (其中包含授权标头 带有属性载体令牌)。发送请求后,一切都确定,并且我可以访问受保护的端点,并且可以看到show msg。 太好了! :)我的资源服务器现在可以使用https://api.github.com/user链接来工作了。

现在,我更改了application.properties:

security.oauth2.resource.user-info-uri=https://api.allegro.pl/me

我有一个错误结果:

401未经授权

发送相同的请求时:

我100%确定使用

承载令牌
security.oauth2.resource.user-info-uri=https://api.allegro.pl/me

是正确的,因为例如对api的请求

https://api.allegro.pl/me

使用高级休息客户端使用此承载令牌!

我的问题是:

我可以通过 Advanced REST Client 使用 bearer令牌访问api端点https://api.allegro.pl/me。但是使用我的应用程序端点:

https://mydomain/protected

受资源服务器保护,使用此链接=> https://api.allegro.pl/me无法使用的资源服务器。如果我改用=> https://api.github.com/user,一切正常,我的资源服务器正常工作。 为什么结果是401未经授权  invalid_token ,我确定令牌是正确的!

0 个答案:

没有答案