java - spring-security-oauth2-authorization-server:0.1.1 获取令牌错误 invalid_client
问题描述
我正在使用弹簧授权服务器,但我无法获得令牌。这是我的代码和示例。请帮我知道正确的请求
@Bean
public RegisteredClientRepository registeredClientRepository() {
RegisteredClient registeredClient = RegisteredClient.withId(UUID.randomUUID().toString())
.clientId("client")
.clientSecret("secret")
.clientAuthenticationMethod(ClientAuthenticationMethod.CLIENT_SECRET_BASIC)
.clientAuthenticationMethod(ClientAuthenticationMethod.CLIENT_SECRET_JWT)
.clientAuthenticationMethod(ClientAuthenticationMethod.CLIENT_SECRET_POST)
.clientAuthenticationMethod(ClientAuthenticationMethod.PRIVATE_KEY_JWT)
.authorizationGrantType(AuthorizationGrantType.PASSWORD)
.authorizationGrantType(AuthorizationGrantType.REFRESH_TOKEN)
.authorizationGrantType(AuthorizationGrantType.CLIENT_CREDENTIALS)
.authorizationGrantType(AuthorizationGrantType.JWT_BEARER)
.clientSettings(clientSettings -> clientSettings.requireUserConsent(true))
.build();
return new InMemoryRegisteredClientRepository(registeredClient);
}
这是我对基本身份验证客户端/秘密的要求
curl --location --request POST 'http://localhost:9000/oauth2/token'
--header '授权:基本 Y2xpZW50OnNlY3JldA=='
--header '内容类型:application/x-www-form-urlencoded'
--header 'Cookie: JSESSIONID=557C0348994EFC10DB8E7F06C2FDFF21'
--data-urlencode 'grant_type=client_credentials'
响应 401:
{“错误”:“无效客户端”}
解决方案
您可以尝试升级spring-security-oauth2-authorization-server
到更新版本0.2.0
我遇到了同样的问题client_secret_post
,但是升级版本对我有用。
推荐阅读
- c++ - 你如何实现相互转换?
- elixir - 返回正确的时间戳
- swagger - 无效的范围 Swagger 和 IdentityServer4
- python - 更改科学轴标签格式的偏移量
- python-3.x - 如何从 openai gym 的自定义环境中调用自定义属性?
- javascript - 具有多个条件的过滤器数组
- java - Ldap 单元测试模拟命名枚举
- apache - help.example.com 的 DNS 记录返回 404
- php - 使用 php artisan migrate refresh 时,laravel 5.8“调用未定义的方法 car:SetContainer()”
- r - 使用 timedate 或 lubridate 将 1 个工作日添加到日期