无法获取令牌(OAUTH2,Spring和Kotlin)

时间:2018-11-21 16:00:53

标签: java spring angular kotlin oauth-2.0

我尝试获取令牌,但是它不起作用。请求邮递员工作,但是当我尝试用角度复制时,我得到:

error1

我在邮递员中的要求

error2

我的要求成角度:

getToken() {
const headers = new HttpHeaders();
headers.set('Authorization', 'Basic ZGV2Z2xhbi1jbGllbnQ6ZGV2Z2xhbi1zZWNyZXQ=');
headers.set('Content-Type', 'application/x-www-form-urlencoded');

const body = new URLSearchParams();
body.append('username', 'Alex123');
body.append('password', 'password');
body.append('grant_type', 'password');

this.http.post<AuthToken>('http://localhost:8080/oauth/token', body, {headers: headers})
  .subscribe(
    success => {
      debugger
      this.token = success.access_token;
    }
  );
}

我的CORS配置,我觉得一切都很好。

   @Throws(Exception::class)
override fun configure(http: HttpSecurity) {
    http
        .csrf().disable()
        .anonymous().disable()
        .authorizeRequests()
        .antMatchers("/api-docs/**").permitAll()
    http
        .csrf().disable()
        .anonymous().disable()
        .authorizeRequests()
        .antMatchers("/auth/token").permitAll()
}

@Bean
fun corsFilter(): FilterRegistrationBean<*> {
    val source = UrlBasedCorsConfigurationSource()
    val config = CorsConfiguration()
    config.allowCredentials = java.lang.Boolean.TRUE
    config.addAllowedOrigin("*")
    config.addAllowedHeader("*")
    config.addAllowedMethod("*")
    source.registerCorsConfiguration("/**", config)
    val bean = FilterRegistrationBean(CorsFilter(source))
    bean.order = 0
    return bean
}

1 个答案:

答案 0 :(得分:0)

似乎您在使用CORS时遇到问题,请阅读以下文章,以了解有关CORS的更多信息。

https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

此答案应为评论,但我无法发表评论。