Dashboard > SmugMug > ... > API 1.2.0 > smugmug.login 1.2.0 > smugmug.login.withPassword 1.2.0
Log In   View a printable version of the current page.
SmugMug
smugmug.login.withPassword 1.2.0
Added by David Parry , last edited by David Parry on Feb 11, 2008  (view change)
Labels: 
(None)

smugmug.login.withPassword

Establishes a session and logs a user in based on the specified email address (or nickname) and password.

Note: For security reasons, this method should only be sent over SSL.

Arguments

  • string APIKey
  • string EmailAddress
  • string Password

Result

  • struct Login
    • struct Session
      • string id
    • struct User
      • integer id
      • string NickName
      • string DisplayName
    • string PasswordHash
    • string AccountType
    • integer FileSizeLimit

Fault Codes

  • 1 - "invalid login"
  • 5 - "system error"
  • 11 - "ancient version"
  • 18 - "invalid API key"

Sample Requests

XML-RPC

<methodCall>
  <methodName>smugmug.login.withPassword</methodName>
  <params>
    <param>
      <value>
        <struct>
          <member>
            <name>EmailAddress</name>
            <value>
              <string>[insert email address]</string>
            </value>
          </member>
          <member>
            <name>Password</name>
            <value>
              <string>[insert password]</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.withPassword</method>
<Login PasswordHash="$1$SzcXhAg5$ryhs7e5YPJjHPN2k4es3Y1" AccountType="Pro" FileSizeLimit="25165824">
<Session id="f920524b60bdb9ec711bcdbb6efd3faa"/>
<User id="512" NickName="frednerk" DisplayName="Fred Nerk"/>
</Login>
</rsp>

JSON

{
  "stat":"ok",
  "method":"smugmug.login.withPassword",
  "Login":{
    "Session":{"id":"f920524b60bdb9ec711bcdbb6efd3faa"},
    "User":{"id":512, "NickName":"frednerk" "DisplayName":"Fred Nerk",
    "PasswordHash":"$1$SzcXhAg5$ryhs7e5YPJjHPN2k4es3Y1",
    "AccountType":"Pro",
    "FileSizeLimit":"25165824"}
  }
}

PHP

a:3:{
  s:4:"stat";
  s:2:"ok";
  s:6:"method";
  s:26:"smugmug.login.withPassword";
  s:5:"Login";a:5:{
    s:7:"Session";a:1:{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:12:"PasswordHash";s:34:"$1$SzcXhAg5$ryhs7e5YPJjHPN2k4es3Y1";
    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>PasswordHash</name>
    <value><string>$1$SzcXhAg5$ryhs7e5YPJjHPN2k4es3Y1</string></value>
  </member>
  <member>
    <name>User</name>
    <value>
      <struct>
        <member>
          <name>id</name>
          <value><int>512</int></value>
        </member>
        <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>

Code Samples

PHP using REST

<?php
$base = "https://api.smugmug/hack/rest/1.2.1";
$url = $base . "?";

$params = array (
  "method" => "smugmug.login.withPassword",
  "EmailAddress" => "YourSmugMugNickNameOrEmailAddress",
  "Password" => "YourSmugMugPassword",
  "APIKey" => "YourSmugMugAPIKey"
);

foreach ($params as $key => $value) {
  $url .= "$key=" . urlencode($value) . "&";
}

$xml = file_get_contents($url);
?>

PERL using JSON

use LWP;
use JSON;
my $base = "https://api.smugmug/hack/json/1.2.1";
my $url = $base . "?";
my $params = {
  "method" => "smugmug.login.withPassword",
  "EmailAddress" => "YourSmugMugNickNameOrEmailAddress",
  "Password" => "YourSmugMugPassword",
  "APIKey" => "YourSmugMugAPIKey"
};

for my $key (keys %params ) {
  $url .= "$key=" . ${params}{$key} . "&";
}

my $ua = LWP::UserAgent->new();
my $response = $ua->get($url);
my $json = new JSON(unmapping =>1);
my $hash = $json->jsonToObj($response->content);

The response struct as listed up top is not the same as the response actually uses.  Check the samples to confirm the correct order.

Posted by Anonymous at Feb 11, 2008 19:28 | Reply To This
Powered by Atlassian Confluence 2.7.1, the Enterprise Wiki. Bug/feature request - Atlassian news - Contact administrators