Login desde una web externa

Hola a todos,

Llevo unos días intentando conectar una web con Elgg. La idea es poderme loguear en la web como si lo hiciese en Elgg de forma directa. De esta forma obtendría la sesión de usuario para Elgg, y cuando entrase a Elgg no necesitaría realizar el login, y el cambio de una web de contenidos a la plataforma Elgg sería de forma transparente.

Para poder realizar el login, he visto que se puede realizar mediante la API REST que tiene Elgg (v1.6.1), aunque a mi no me termina de funcionar, o no la estoy usando bien. La url a la que llamo es:

http://localhost/elgg/pg/api/rest/xml/?method=auth.gettoken&username=pedro&password=pedro

Y esta URL me devuelve:

Falta el parámetro username en el método auth.gettoken
exception 'APIException' with message 'Falta el parámetro username en el método auth.gettoken' in /var/www/elgg/engine/lib/api.php:483
Stack trace:
#0 /var/www/elgg/services/api/rest.php(46): execute_method('auth.gettoken', Array, '')
#1 /var/www/elgg/engine/lib/api.php(1222): include('/var/www/elgg/s...')
#2 /var/www/elgg/engine/lib/pagehandler.php(42): api_endpoint_handler(Array, 'api')
#3 /var/www/elgg/engine/handlers/pagehandler.php(23): page_handler('api', 'rest/xml/')
#4 {main}

También me gustaría saber si alguien conoce otra forma de realizar el login ¿?. Os agradecería mucho que me ayudaseis.

Gracias ;)

 

 

 

 

  • Tú dices hacer el login desde otra página del mismo sitio, fuera de Elgg, o desde otro sitio?

    Si es desde otra página del mismo sitio, aquí tienes algo de información http://community.elgg.org/mod/groups/topicposts.php?topic=383701&group_guid=179063

    Saludos

  • Carlos ;-)

    That was a different style of "external" login.. Pedro is trying a very different method of logging in ;-)

  • Yes, but it's not clear if he are trying to log in from another site or from another page out of Elgg but in the same site.

  • i think he's trying "automated" login.. i tried this before.. using cURL.

  • En Español: Me gustaría hacer un formulario en una página que va a colgar bajo el mismo dominio.

    www.midominio.com/portal/ (WEB)

    www.midominio.com/elgg/ (ELGG)

    Desde "portal" me gustaría poder acceder a "elgg", coger la sesión del usuario. Tener un formulario en "portal" desde donde se accediese a "elgg" directamente. Si vemos el formulario de login de elgg, existen dos parámetros __elgg_token y __elgg_ts que no se como se generan, he estado mirando el codigo, pero no consigo saber como lo están generando.

    <div id="login-box">
    <h2>Log in</h2>
    <form action="http://localhost/elgg/action/login" method="POST">
    <input name="__elgg_token" value="62d0eb80bb98eaea693a3d67bb8c4d67" type="hidden">
    <input name="__elgg_ts" value="1265060595" type="hidden"> <p class="loginbox"><label>Username<br>
    <input gtbfieldid="1" name="username" value="" class="login-textarea" type="text"> </label><br><label>Password<br>
    <input name="password" value="" class="login-textarea" type="password"> </label><br><input name="" class="submit_button" value="Log in" type="submit"> </p><div id="persistent_login"><label><input name="persistent" value="true" type="checkbox">Remember me</label></div><p class="loginbox"><a href="http://localhost/elgg/account/register.php">Register</a> | <a href="http://localhost/elgg/account/forgotten_password.php">Lost password</a></p>
    </form>
    </div>

    ¿Conoceis otra forma de hacerlo?

    Gracias ;)

     

    En inglés:

    I would like to make a form on a page that is under the same domain.

    www.mydomain.com/portal/ (WEB)

    www.mydomain.com/elgg/ (ELGG)

    From "portal" I wish I could go to "elgg" take the user's session. Having a form to "portal" where you can access to "elgg" directly. If we see the login form of elgg, there are two parameters and __elgg_token as __elgg_ts not arise, I have been looking at the code, but I can not know how they are generated.

    <div id="login-box">
    <h2>Log in</h2>
    <form action="http://localhost/elgg/action/login" method="POST">
    <input name="__elgg_token" value="62d0eb80bb98eaea693a3d67bb8c4d67" type="hidden">
    <input name="__elgg_ts" value="1265060595" type="hidden"> <p class="loginbox"><label>Username<br>
    <input gtbfieldid="1" name="username" value="" class="login-textarea" type="text"> </label><br><label>Password<br>
    <input name="password" value="" class="login-textarea" type="password"> </label><br><input name="" class="submit_button" value="Log in" type="submit"> </p><div id="persistent_login"><label><input name="persistent" value="true" type="checkbox">Remember me</label></div><p class="loginbox"><a href="http://localhost/elgg/account/register.php">Register</a> | <a href="http://localhost/elgg/account/forgotten_password.php">Lost password</a></p>
    </form>
    </div>

    Do you know another way to do this?

    Thanks ;)

  • ```````````````````````````````````````````````````
    Traducción de Google ==>

    Por favor, eche un vistazo a
    MadWithU.Com
    - Este no es un Elgg página web,
    pero los vínculos en el código Elgg Login / Ver
    Este fue codificado por Pedro en el sur de África como un proyecto de pago.
    ¿Es esto lo que busca??

    ```````````````````````````````````````````````````
    Google translation ==>

    Please have a look at
    MadWithU.com
    -- this is a non-Elgg web-page,
    but links into Elgg's LogIn code/ view
    This was coded for a client - Peter in South Africa as a paid project.
    Is this what you are looking for ??

    ```````````````````````````````````````````````````

  • Yes!

    How to generated the __elgg_token and the __elgg_ts ?

    Thanks

     

  • Pedro talvez es tarde, pero aquí te muestro con un ejemplo como hacerlo:

    <div id="login">
    <?php
    require "/var/www/elgg/engine/start.php";
    $ts = time();
    $token = generate_action_token($ts);
    ?>
    <form action="/elgg/action/login" method="POST" >
    <input type="hidden" name="__elgg_token" value="<?php echo $token;?>" />
    <input type="hidden" name="__elgg_ts" value="<?php echo $ts;?>" />
    <label>Usuario<br />
    <input type="text" name="username"  value=""/> </label><br />
    <label>Clave<br />
    <input type="password" name="password" value=""/> </label><br />
    <input type="hidden" name="persistent" value="false" />
    <input name="" type="submit" value="Entrar"  />
    </form>
    </div>

    Saludos!

Spanish Community Group

Spanish Community Group

Spanish support group. Grupo de apoyo de usuarios en español