Sto tentando di implementare la concessione implicita di OAuth 2.0 dall'applicazione client desktop java utilizzando l'API REST SkyDrive. Io uso il seguente codice:Recupero del token di accesso di OAuth 2.0 (concessione implicita) dal client desktop java che utilizza l'API REST SkyDrive.
Desktop.getDesktop().browse(new URL(st.toString()).toURI());
JOptionPane.showMessageDialog(null, "Press ok to continue once you have authenticated.");
mio codice apre il browser Web e chiedere agli utenti di signin e poi SkyDrive manda token di accesso alla URL del browser nella forma seguente:
https://login.live.com/oauth20_desktop.srf?lc=1033#access_token=EwAwAq1DBAAUlbRW.....
Quello che voglio fare è leggere questo token di accesso dal mio programma java. Ho provato a leggere HttpConnection da console:
HttpURLConnection con = (HttpURLConnection) url.openConnection();
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
while(reader.readLine()!=null){
System.out.println(reader.readLine());
ma sembra che java HttpURLConnection non gestisce javascript risposta. E risponde:
<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);">
Quindi, C'è un modo per recuperare il token di accesso direttamente da Java?