Add customization to support public clients for device grant

Issue gh-1157
This commit is contained in:
Joe Grandja
2023-03-27 09:43:46 -04:00
committed by Steve Riesenberg
parent cec90dd73d
commit be50f66b4c
7 changed files with 232 additions and 8 deletions

View File

@@ -105,8 +105,8 @@ public class DeviceController {
Map<String, Object> responseParameters =
this.webClient.post()
.uri(clientRegistration.getProviderDetails().getAuthorizationUri())
.headers(headers -> headers.setBasicAuth(clientRegistration.getClientId(),
clientRegistration.getClientSecret()))
// .headers(headers -> headers.setBasicAuth(clientRegistration.getClientId(),
// clientRegistration.getClientSecret()))
.contentType(MediaType.APPLICATION_FORM_URLENCODED)
.body(BodyInserters.fromFormData(requestParameters))
.retrieve()

View File

@@ -58,7 +58,7 @@ public final class OAuth2DeviceAccessTokenResponseClient implements OAuth2Access
ClientRegistration clientRegistration = deviceGrantRequest.getClientRegistration();
HttpHeaders headers = new HttpHeaders();
headers.setBasicAuth(clientRegistration.getClientId(), clientRegistration.getClientSecret());
// headers.setBasicAuth(clientRegistration.getClientId(), clientRegistration.getClientSecret());
MultiValueMap<String, Object> requestParameters = new LinkedMultiValueMap<>();
requestParameters.add(OAuth2ParameterNames.GRANT_TYPE, deviceGrantRequest.getGrantType().getValue());

View File

@@ -15,8 +15,8 @@ spring:
registration:
messaging-client-device-grant:
provider: spring
client-id: messaging-client
client-secret: secret
client-id: device-messaging-client
client-authentication-method: none
authorization-grant-type: urn:ietf:params:oauth:grant-type:device_code
scope: message.read,message.write
client-name: messaging-client-device-grant