smugmug.login.withHash
Establishes a session and logs a user in based on the specified user id and password hash.
| Note: For security reasons, this method should only be sent over SSL. |
Arguments
- integer UserID
- string PasswordHash
- string APIKey
Result
- struct Login
- struct Session
- string id
- struct User
- string NickName
- string DisplayName
- string AccountType
- integer FileSizeLimit
- struct Session
Fault Codes
- 1 - "invalid login"
- 5 - "system error"
- 11 - "ancient version"
- 18 - "invalid API key"
Sample Requests
XML-RPC
<methodCall> <methodName>smugmug.login.withHash</methodName> <params> <param> <value> <struct> <member> <name>UserID</name> <value> <int>[insert UserID]</int> </value> </member> <member> <name>PasswordHash</name> <value> <string>[insert password hash]</string> </value> </member> <member> <name>APIKey</name> <value> <string>[insert api key]</string> </value> </member> </struct> </value> </param> </params> </methodCall>
Sample Responses
REST
<rsp stat="ok"> <method>smugmug.login.withHash</method> <Login AccountType="Pro" FileSizeLimit="25165824"> <Session id="f920524b60bdb9ec711bcdbb6efd3faa"/> <User NickName="frednerk" DisplayName="Fred Nerk"/> </Login> </rsp>
JSON
{
"stat":"ok",
"method":"smugmug.login.withHash",
"Login":{
"Session":{"id":"f920524b60bdb9ec711bcdbb6efd3faa"},
"User":{"NickName":"frednerk" "DisplayName":"Fred Nerk",
"AccountType":"Pro",
"FileSizeLimit":"25165824"}
}
}
PHP
a:3:{
s:4:"stat";s:2:"ok";
s:6:"method";s:22:"smugmug.login.withHash";
s:5:"Login";a:4:{
s:7:"Session";a:2:{s:2:"id";s:32:"f920524b60bdb9ec711bcdbb6efd3faa";}
s:4:"User";a:3:{
s:2:"id";i:512;s:8:"NickName";s:8:"frednerk";s:11:"DisplayName";s:9"Fred Nerk";
}
s:11:"AccountType";s:3:"Pro";
s:13:"FileSizeLimit";i:"25165824;
}
}
XML-RPC
<struct> <member> <name>Session</name> <value> <struct> <member> <name>id</name> <value><string>f920524b60bdb9ec711bcdbb6efd3faa</string></value> </member> </struct> </value> </member> <member> <name>FileSizeLimit</name> <value><int>25165824</int></value> </member> <member> <member> <name>AccountType</name> <value><string>Pro</string></value> </member> <member> <name>User</name> <value> <struct> <member> <name>NickName</name> <value><string>frednerk</string></value> </member> <member> <name>DisplayName</name> <value><string>Fred Nerk</string></value> </member> </struct> </value> </member> </struct>
I cannot find any documentation on how to create the password hash, could you please add some documentation.
The password hasing algorithm that is used to generate the hash really should be documented.