如何将refreshToken发送到令牌端点?

时间:2016-12-15 11:48:25

标签: java spring spring-boot oauth2

我正在使用带有springboot-security-jwt的JWT令牌,它有一些关于令牌生成的文档,但没有关于如何将 refreshToken 发送到令牌端点的文档:使用POST?得到?用JSON打包参数?有一个JSON包的例子吗?

注意

我的端点可以用作localhost,https://localhost:8080/api/user/register,它工作正常......返回这样的JSON,

{
"refreshToken": "eyJhbGciOiJIUzUxMiJ9......Jj3hnQuMd6Im9AJhmmxaA7ILiERqHuTUf0BYCerWe4ziggvs2PiCfB_3J2f_Gc3hOqY1IgJWJRm_LrTs1UcxwQ",
"token": "eyJhbGciOiJIUzUxMiJ9......-CWgg4srJoevN7PVKOQfsQXAE3h5ySkabUb-Q-xPsEQO18KSYXWw"
}

如何将 refreshToken 发送到api/auth/token端点?
(我没看到任何clues at your article

postman body https://localhost:8080/api/auth/token一起使用

{"refreshToken": "eyJhbGciOiJIUzUxMiJ9.......Jj3hnQuMd6Im9AJhmmxaA7ILiERqHuTUf0BYCerWe4ziggvs2PiCfB_3J2f_Gc3hOqY1IgJWJRm_LrTs1UcxwQ",
}

我有回复

{
  "errorCode": 10,
  "message": "Authentication failed",
  "status": 401,
  "timestamp": 1481753363749
}

也许还有其他问题......

(编辑更多有关我的实施的线索)

我的同等资格WebSecurityConfig.java

@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
public static final String JWT_TOKEN_HEADER_PARAM = "Authorization";
public static final String FORM_BASED_LOGIN_ENTRY_POINT = "/login";
public static final String TOKEN_BASED_AUTH_ENTRY_POINT = "/auth/**";
public static final String TOKEN_REFRESH_ENTRY_POINT = "/token";
...
}

...

@Override
protected void configure(HttpSecurity http) throws Exception {

http
.csrf().disable() // We don't need CSRF for JWT based authentication
.exceptionHandling()
.authenticationEntryPoint(this.authenticationEntryPoint)

.and()
.sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.STATELESS)

.and()
.authorizeRequests()
.antMatchers(FORM_BASED_LOGIN_ENTRY_POINT).permitAll() // Login end-point
.antMatchers(TOKEN_REFRESH_ENTRY_POINT).permitAll() // Token refresh end-point
.and()
.authorizeRequests()
.antMatchers(TOKEN_BASED_AUTH_ENTRY_POINT).authenticated() // Protected API End-points
.and()
.addFilterBefore(buildAjaxLoginProcessingFilter(), UsernamePasswordAuthenticationFilter.class)
.addFilterBefore(buildJwtTokenAuthenticationProcessingFilter(), UsernamePasswordAuthenticationFilter.class);
}

所以,也许(?)没有端点/token存在(!)这种变化。

... springboot-security-jwt /token实施?检查它(或者某种&#34;健康终点测试&#34;)...... < / p>

PS:指定端点&#34; / api / token&#34;和其他任何&#34; api / Mammy&#34;返回405(方法不允许),并作为授权端点进行测试,&#34; auth / token&#34;或&#34; api / Mammy&#34;,返回401和错误10(身份验证失败)。

0 个答案:

没有答案