Session ToFacebookSession(JsonObject data)
{
if (!data.Dictionary.ContainsKey("oauth_token"))
return null;
var expires = data.Dictionary["expires"].Integer;
var sess = new Session
{
UserId = data.Dictionary["user_id"].Integer,
OAuthToken = data.Dictionary["oauth_token"].String,
// if user granted 'offline_access' permission, the 'expires' value is 0.
Expires = expires == 0 ? DateTime.MaxValue : s_unixStart.AddSeconds(expires),
};
sess.Signature = GenerateSignature(sess.ToJsonObject());
return sess;
}