最近,我尝试根据教程here创建一个小型应用。
有一次,视频的作者在访问REST API的URL时遇到“ 401(未经授权)”错误,并通过添加 Authorization:Bearer“此处生成令牌哈希值” 进行了修复。
但是,我一直收到相同的401错误。如果我检查对URL的请求,则会看到描述为“无效的访问令牌:<这里的访问令牌哈希>”
的“ invalid_token”错误我在okta.oauth2.issuer
中的application.properties
的格式为https://dev-XXXXXX.okta.com/oauth2/default
我在Spring Boot端有一个Okta配置类,如下所示:
@Configuration
public class OktaOAuth2Configuration extends WebSecurityConfigurerAdapter
{
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests().anyRequest().authenticated()
.and()
.oauth2ResourceServer().jwt();
}
}
在Vue.js端,我通过以下方式添加访问令牌:
const response = await axios.get('/goodBeers', {
headers: {
Authorization: `Bearer ${await this.$auth.getAccessToken()}`,
},
});
我是否需要对Spring Boot或Vue.js进行一些其他配置?
编辑:这是我的响应标头和请求标头-> here
编辑2:我意识到我已经在Okta中创建了一个Web应用程序,而不是上面视频中的SPA。我已更正此错误,但错误与之前完全相同。
编辑3:问题与Spring Boot中的@EnableResourceServer
注释有关。我以为我缺少某种配置。
编辑4:每当我进入隐身模式并尝试访问API时,都会收到相同的错误,但不是“无效令牌:”,而是“无效令牌:未定义”。
编辑5:我已经将issuer
更改为包含oktapreview
而不是仅包含okta
,如视频示例中的github回购。但是,这只是将错误更改为Okta登录错误,显示为“在此环境中未启用请求的功能”