<div dir="ltr">Hi Ricardo,<div class="gmail_extra"><br><br><div class="gmail_quote">On 27 June 2013 11:11, Ricardo Duarte <span dir="ltr"><<a href="mailto:rjtd21@hotmail.com" target="_blank">rjtd21@hotmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">


<div><div dir="ltr">Hi there,<br><br>Can someone explain to me how can I generate the "secret" to use with serveradmin impersonation?<br><br>     username:target_username:secret<br><br>Docs say "The core daemon understands a request with this authentication session 
token as “perform this operation on behalf of target_user”. The “secret”
 part of the token is signed with one of the two mechanisms explained 
below.
", but there is nothing below this statement<br><br>    <a href="http://opennebula.org/documentation:archives:rel3.8:cloud_auth" target="_blank">http://opennebula.org/documentation:archives:rel3.8:cloud_auth</a><br>

<br></div></div></blockquote><div><br></div><div style>Indeed, the documentation is missing that information. </div><div style><br></div><div style>Basically, the mechanism is as follows:</div><div style><br></div><div style>

When creating a new client, you have to provide a token (CloudAuth.rb)</div><div style>  Client.new(token, XMLRPC_ENDPOINT)</div><div style><br></div><div style>The content of this token is:</div><div style>  "#{@srv_user}:#{target_user}:#{token64}"<br>

</div><div style>and is generated using the login_token method in server_cipher_auth.rb</div><div style><br></div><div style>and the token64 is generated as follows</div><div style>    * token64 content: "#{@srv_user}:#{target_user}:#{expire}"</div>

<div style>      - "expire" is the token expiration time generated in CloudAuth.rb: </div><div style>           @token_expiration_time = time_now + EXPIRE_DELTA</div><div style><br></div><div style>    * This token is encrypted using aes-256-cbc</div>

<div style><br></div><div style>    * After that, the encrypted token is encoded using base64</div><div style><br></div><div style>If you use server_x509 instead, the token64 is generated in the same way but encrypted using x509 certificates (server_x509_auth.rb)</div>

</div><br clear="all"><div style>Hope this helps, if you need further information please do not hesitate to ask me anything</div><div style><br></div><div style>Cheers</div><div style><br></div>-- <br><div dir="ltr"><div>

Join us at <a href="http://opennebulaconf.com/" target="_blank">OpenNebulaConf2013</a> in Berlin, 24-26 September, 2013<br></div><div>--</div>Daniel Molina<br>Project Engineer<br>OpenNebula - The Open Source Solution for Data Center Virtualization<br>

<a href="http://www.OpenNebula.org" target="_blank">www.OpenNebula.org</a> | <a href="mailto:dmolina@opennebula.org" target="_blank">dmolina@opennebula.org</a> | @OpenNebula</div>
</div></div>