|
|
@ -91,8 +91,6 @@ public class DeviceEndpoint {
|
|
|
|
@Autowired
|
|
|
|
@Autowired
|
|
|
|
private OAuth2RequestFactory oAuth2RequestFactory;
|
|
|
|
private OAuth2RequestFactory oAuth2RequestFactory;
|
|
|
|
|
|
|
|
|
|
|
|
private RandomValueStringGenerator randomGenerator = new RandomValueStringGenerator();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@RequestMapping(value = "/" + URL, method = RequestMethod.POST, consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
|
|
|
@RequestMapping(value = "/" + URL, method = RequestMethod.POST, consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
|
|
|
|
public String requestDeviceCode(@RequestParam("client_id") String clientId, @RequestParam(name="scope", required=false) String scope, Map<String, String> parameters, ModelMap model) {
|
|
|
|
public String requestDeviceCode(@RequestParam("client_id") String clientId, @RequestParam(name="scope", required=false) String scope, Map<String, String> parameters, ModelMap model) {
|
|
|
|
|
|
|
|
|
|
|
@ -134,17 +132,11 @@ public class DeviceEndpoint {
|
|
|
|
|
|
|
|
|
|
|
|
// if we got here the request is legit
|
|
|
|
// if we got here the request is legit
|
|
|
|
|
|
|
|
|
|
|
|
// create a device code, should be big and random
|
|
|
|
DeviceCode dc = deviceCodeService.createNewDeviceCode(requestedScopes, client, parameters);
|
|
|
|
String deviceCode = UUID.randomUUID().toString();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// create a user code, should be random but small and typable
|
|
|
|
|
|
|
|
String userCode = randomGenerator.generate();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
deviceCodeService.createNewDeviceCode(deviceCode, userCode, requestedScopes, client, parameters);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Map<String, Object> response = new HashMap<>();
|
|
|
|
Map<String, Object> response = new HashMap<>();
|
|
|
|
response.put("device_code", deviceCode);
|
|
|
|
response.put("device_code", dc.getDeviceCode());
|
|
|
|
response.put("user_code", userCode);
|
|
|
|
response.put("user_code", dc.getUserCode());
|
|
|
|
response.put("verification_uri", config.getIssuer() + USER_URL);
|
|
|
|
response.put("verification_uri", config.getIssuer() + USER_URL);
|
|
|
|
if (client.getDeviceCodeValiditySeconds() != null) {
|
|
|
|
if (client.getDeviceCodeValiditySeconds() != null) {
|
|
|
|
response.put("expires_in", client.getDeviceCodeValiditySeconds());
|
|
|
|
response.put("expires_in", client.getDeviceCodeValiditySeconds());
|
|
|
|