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>
The password hasing algorithm that is used to generate the hash really should be documented.