
Estoy creando un portal privado (un sitio web privado donde inicio sesión automáticamente en todos mis sitios web favoritos). Cada sitio web se carga en un iframe.
Estoy buscando una manera de iniciar sesión automáticamente en ubuntuone. Intenté publicar un formulario completado automáticamente, pero ubuntuone usa una clave única para cada autenticación. No puedo usar jquery para enviar el formulario desde fuera del iframe porque no es el mismo dominio.
¿Quizás en PHP? Esta publicaciónhablo de Ubuntu one auth y PHP pero no sé cómo PHP podría interactuar con la API. ¿Puedes tener algún ejemplo?
Gracias por las ideas y tu ayuda.
Respuesta1
La forma más sencilla de hacerlo es simplemente iniciar sesión en Ubuntu One en su navegador y luego ponerhttps://one.ubuntu.comen el marco flotante; permanecerás conectado al menos durante un tiempo (y ocasionalmente cerrarás sesión por seguridad).
Por las malas, si quieres estar seguro de que eressiempreiniciado sesión, es tomar la URLhttps://one.ubuntu.com/api/1.0/from_oauth/?next=/y fírmelo con un token Ubuntu One OAuth válido. Puede recuperar un token usando la biblioteca Python enhttps://launchpad.net/ubuntuone-coucho manualmente desde su llavero de Ubuntu. Una vez que haya firmado la URL con ese token de OAuth, serialice la firma de OAuth en la URL (de modo que obtendrá una URL que se parece a
y luego ábrelo en tu navegador web. Esa URL lo llevará a Ubuntu One, en el navegador, y deberá iniciar sesión como usted.
Puede que le resulte útil la siguiente página, que realiza la sesión en JavaScript: edite esta página para incluirlasudetalles del token, y luego puede simplemente abrir esta página en el navegador y marcarla como favorita, o vincularla en un iframe con una URL file://, y debería funcionar. También requiere oauth.js y sha1.js dehttp://oauth.googlecode.com/svn/code/javascript/.
<!doctype html>
<html><head><title>Log in to Ubuntu One without password</title>
<script src="sha1.js"></script><script src="oauth.js"></script>
</head><body>
<script>
var url = "https://one.ubuntu.com/api/1.0/from_oauth/"
var accessor = {
token: "TTTTTTTT",
tokenSecret: "SSSSSSSSS",
consumerKey : "CCCCCCCC",
consumerSecret: "ssssssssss"
};
var message = {
action: url,
method: "GET",
parameters: {next: "/"}
};
OAuth.completeRequest(message, accessor);
OAuth.SignatureMethod.sign(message, accessor);
url = url + '?' + OAuth.formEncode(message.parameters);
location.href = url;
</script>
</body>
</html>