当前位置: 首页 > 知识库问答 >
问题:

NoSuchClientException,没有请求id的客户端

萧宏峻
2023-03-14

当我尝试access/oauth/token时,我得到了错误:

O.S.S.O.Provider.Endpoint.TokenEndpoint:处理错误:NoSuchClientException,没有请求ID:username的客户端

    null
@Configuration
public class OAuth2ServerConfig {

@Configuration
@EnableResourceServer
protected static class ResourceServerConfiguration extends ResourceServerConfigurerAdapter {

    @Inject
    private Http401UnauthorizedEntryPoint authenticationEntryPoint;

    @Inject
    private AjaxLogoutSuccessHandler ajaxLogoutSuccessHandler;

    @Override
    public void configure(HttpSecurity http) throws Exception {
        http
                .exceptionHandling()
                .authenticationEntryPoint(authenticationEntryPoint)
                .and()
                .logout()
                .logoutUrl("/logout")
                .logoutSuccessHandler(ajaxLogoutSuccessHandler)
                .and()
                .csrf()
                .requireCsrfProtectionMatcher(new AntPathRequestMatcher("oauth/token"))
                .disable()
                .headers()
                .frameOptions().disable()
                .and()
                .sessionManagement()
                .sessionCreationPolicy(SessionCreationPolicy.STATELESS)
                .and()
                .authorizeRequests()
                .antMatchers("/admin").hasAnyAuthority("ADMIN");
    }
}

@Configuration
@EnableAuthorizationServer
protected static class AuthorizationServerConfiguration extends AuthorizationServerConfigurerAdapter {

    private static final String CLIENTID = "app";
    private static final String PROP_SECRET = "secret";
    private static final Integer TOKEN_VALIDITY_SECONDS = -1;
    @Inject
    private UserDetailsService userDetailsService;
    @Inject
    private OAuth2AccessTokenRepository oAuth2AccessTokenRepository;

    @Inject
    private OAuth2RefreshTokenRepository oAuth2RefreshTokenRepository;

    @Bean
    public TokenStore tokenStore() {
        return new MongoDBTokenStore(oAuth2AccessTokenRepository, oAuth2RefreshTokenRepository);
    }

    @Inject
    @Qualifier("authenticationManagerBean")
    private AuthenticationManager authenticationManager;

    @Override
    public void configure(AuthorizationServerEndpointsConfigurer endpoints)
            throws Exception {

        endpoints
                .tokenStore(tokenStore())
                .authenticationManager(authenticationManager).userDetailsService(userDetailsService);
    }

    @Override
    public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
        clients
                .inMemory()
                .withClient(CLIENTID)
                .authorizedGrantTypes("authorization_code","refresh_token","password")
                .authorities("USER", "ADMIN")
                .secret(PROP_SECRET)
                .accessTokenValiditySeconds(TOKEN_VALIDITY_SECONDS);
    }
}
}

共有1个答案

颜昕
2023-03-14

创建请求,如下所示

curl app:secret@localhost:8080/oauth/token  -d grant_type=password -d client_id=app  -d username=user -d password=password
 类似资料:
  • 客户端的HTTP/HTTPS请求。 进程:主进程​ ClientRequest是由EventEmitter来实现Writable Stream​ new ClientRequest(options) 作用:发起新的HTTP/HTTPS请求 options(Object | String) - options是String时即请求URL。 options 是Object时则按以下属性请求: meth

  • 我试图实现这里提到的,但得到错误: 我使用的是Laravel出纳: 使用此代码创建客户失败,因为它尝试在表中创建一个不需要的记录,因为我已经创建了一个用户: 如何将现有客户ID和电子邮件发送到Stripe?

  • httplib 库主要用来模拟客户端发送 HTTP 请求,类似于 Curl 工具,支持 JQuery 类似的链式操作。使用起来相当的方便;通过如下方式进行安装: go get github.com/astaxie/beego/httplib 如何使用 首先导入包 import ( "github.com/astaxie/beego/httplib" ) 然后初始化请求方法,返回对象 r

  • 当浏览器请求一个网页时,它会向网络服务器发送一系列不能被直接读取的信息,因为这些信息是作为HTTP信息头的一部分来传送的。您可以查阅HTTP协议来获得更多的信息。 下表列出了浏览器端信息头的一些重要内容,在以后的网络编程中将会经常见到这些信息: 信息 描述 Accept 指定浏览器或其他客户端可以处理的MIME类型。它的值通常为 image/png 或 image/jpeg Accept-Char

  • 我正在关注Spotify的客户端凭据授权流,但我的所有curl请求每次都返回。以下是Spotify的说明: 请求将在请求正文中包含参数: grant_type-设置为“client_credentials” 此 POST 请求的标头必须包含以下参数: < li >授权-包含客户端ID和客户端密钥的Base 64编码字符串。该字段必须具有以下格式:<代码>授权:基本 它们还包括一个curl请求示例:

  • 我正在尝试为在jersey上构建的项目制定日志记录标准,我想提供一种简单的方法来记录请求信息和响应,以防出现异常。以下代码说明了我的想法: 问题是如何在我的ServiceException类中获得以下内容: 我试图访问,但运气不佳。 提前感谢!