Estoy intentando implementar la concesión implícita de OAuth 2.0 desde la aplicación de cliente de escritorio de Java usando la API REST de SkyDrive. Yo uso el siguiente código:Recuperando el token de acceso de OAuth 2.0 (concesión implícita) de Java Desktop Client utilizando la API REST de SkyDrive.
Desktop.getDesktop().browse(new URL(st.toString()).toURI());
JOptionPane.showMessageDialog(null, "Press ok to continue once you have authenticated.");
mi código abre el navegador web y pedir a los usuarios SignIn y luego SkyDrive envía el token de acceso a la URL del navegador de la siguiente forma:
https://login.live.com/oauth20_desktop.srf?lc=1033#access_token=EwAwAq1DBAAUlbRW.....
Lo que yo quiero hacer es leer este token de acceso de mi programa java. Traté de leer HttpConnection desde la consola:
HttpURLConnection con = (HttpURLConnection) url.openConnection();
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
while(reader.readLine()!=null){
System.out.println(reader.readLine());
pero parece que HttpURLConnection java no maneja Javascript respuesta. Responde:
<html dir="..... Windows Live ID requires JavaScript to sign in. This web browser either does not support JavaScript, or scripts are being blocked......<body onload="evt_LoginHostMobile_onload(event);">
Entonces, ¿hay alguna manera de recuperar el token de acceso directamente desde java?