example/TwitterAuthApp/src/loginDialog.cpp
author cgandhi
Tue, 12 Oct 2010 15:23:52 +0530
changeset 27 b3e1347ac96a
parent 26 83d6a149c755
permissions -rw-r--r--
Updating the information for test applications and results.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
26
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
     1
/**
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
     2
* Copyright (c) 2010 Sasken Communication Technologies Ltd.
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
     3
* All rights reserved.
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
     4
* This component and the accompanying materials are made available
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
     5
* under the terms of the "{License}"
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
     6
* which accompanies  this distribution, and is available
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
     7
* at the URL "{LicenseUrl}".
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
     8
*
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
     9
* Initial Contributors:
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    10
* Narasimhulu Kavadapu, Sasken Communication Technologies Ltd - Initial contribution
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    11
*
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    12
* Contributors:
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    13
* Siddhartha Chandra, Sasken Communication Technologies Ltd
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    14
* Description:
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    15
* Login Dialog class of Authentication Application
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    16
*/
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    17
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    18
#include <qdebug.h>
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    19
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    20
#include "authAppConstants.h"
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    21
#include "sessionSP.h"
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    22
#include "errorCodes.h"
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    23
#include "loginDialog.h"
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    24
#include "keys.h"
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    25
#include <QNetworkCookie>
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    26
///////////////////////////////////////////////////////////////////////////////////////////////////
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    27
// global
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    28
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    29
//static const QString kLoginURL = "http://www.facebook.com/login.php";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    30
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    31
///////////////////////////////////////////////////////////////////////////////////////////////////
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    32
void FBLoginDialog::connectToGetSession(const QString& aToken)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    33
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    34
	qDebug()<<"Inside FBLoginDialog::connectToGetSession()";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    35
    iGetSessionRequest = FBRequest::requestWithSession(iSession);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    36
    
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    37
    //connect(iGetSessionRequest, SIGNAL(LoadLoginPage()), this, SLOT(LoadLoginPage()));
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    38
    connect(iGetSessionRequest, SIGNAL(requestDidLoad(QVariant)), this, SLOT(requestDidLoad(QVariant)));
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    39
    connect(iGetSessionRequest, SIGNAL(requestFailedWithNetworkError(QNetworkReply::NetworkError)), this, SLOT(requestFailedWithNetworkError(QNetworkReply::NetworkError)));
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    40
    connect(iGetSessionRequest, SIGNAL(requestFailedWithFacebookError(FBError)), this, SLOT(requestFailedWithFacebookError(FBError)));
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    41
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    42
    Dictionary params;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    43
    params["auth_token"] = aToken;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    44
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    45
    if (iSession->apiSecret().length())
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    46
    {
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    47
        params["generate_session_secret"]="1";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    48
    }
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    49
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    50
    if (iSession->getSessionProxy().length())
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    51
    {
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    52
        iGetSessionRequest->post(iSession->getSessionProxy(),params);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    53
    }
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    54
    else
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    55
    {
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    56
        iGetSessionRequest->call("facebook.auth.getSession", params);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    57
    }
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    58
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    59
void FBLoginDialog::connectToGetToken()
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    60
	{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    61
		qDebug()<<"Inside FBLoginDialog::connectToGetToken()";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    62
	    iGetSessionRequest = FBRequest::requestWithSession(iSession);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    63
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    64
	   // connect(iGetSessionRequest, SIGNAL(requestDidLoad(QVariant)), this, SLOT(requestDidLoad(QVariant)));
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    65
	 //   connect(iGetSessionRequest, SIGNAL(requestFailedWithNetworkError(QNetworkReply::NetworkError)), this, SLOT(requestFailedWithNetworkError(QNetworkReply::NetworkError)));
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    66
	  //  connect(iGetSessionRequest, SIGNAL(requestFailedWithFacebookError(FBError)), this, SLOT(requestFailedWithFacebookError(FBError)));
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    67
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    68
	    Dictionary postParams;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    69
		iSession->stroauth_nonce = generateNONCE(43);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    70
		iSession->stroauth_timestamp = generateTimeStamp();//QString::number(generateTimeStamp());
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    71
		qDebug()<<"iSession->stroauth_timestamp"<<iSession->stroauth_timestamp;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    72
		//postParams["oauth_callback"] = kBase;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    73
		postParams["oauth_consumer_key"] = kConsumerKey;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    74
		postParams["oauth_signature_method"] = "HMAC-SHA1";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    75
		postParams["oauth_timestamp"] = iSession->stroauth_timestamp;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    76
		postParams["oauth_nonce"] = iSession->stroauth_nonce;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    77
		postParams["oauth_version"] = "1.0";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    78
		FBRequest* req = FBRequest::requestWithSession(iSession);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    79
		iSession->stroauth_signature = req->generateSig(postParams);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    80
	    iGetSessionRequest->call("/uas/oauth/accessToken", postParams);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    81
	    
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    82
	}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    83
void FBLoginDialog::loadLoginPage()
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    84
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    85
    iGetSessionRequest = FBRequest::requestWithSession(iSession);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    86
	qDebug()<<"Inside FBLoginDialog::loadLoginPage()";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    87
    Dictionary getParams, postParams;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    88
    iSession->stroauth_nonce = generateNONCE(43);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    89
	iSession->stroauth_timestamp = generateTimeStamp();//QString::number(generateTimeStamp());
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    90
	qDebug()<<"iSession->stroauth_timestamp"<<iSession->stroauth_timestamp;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    91
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    92
    postParams["oauth_consumer_key"] = kConsumerKey;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    93
    postParams["oauth_signature_method"] = "HMAC-SHA1";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    94
    postParams["oauth_timestamp"] = iSession->stroauth_timestamp;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    95
    postParams["oauth_nonce"] = iSession->stroauth_nonce;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    96
    postParams["oauth_version"] = "1.0";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    97
    iSession->stroauth_signature = iGetSessionRequest->generateSig(postParams);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    98
    
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
    99
    connect(iGetSessionRequest, SIGNAL(LoadLoginPage()), this, SLOT(LoadLoginPage()));
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   100
    
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   101
    iGetSessionRequest->connect();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   102
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   103
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   104
QByteArray FBLoginDialog::generateTimeStamp()
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   105
	{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   106
		uint time = QDateTime::currentDateTime().toTime_t();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   107
	    QByteArray timestamp = QByteArray::number( time );
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   108
	    return timestamp;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   109
	}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   110
QString FBLoginDialog::generateNONCE(const qint64 Length)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   111
	{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   112
	srand(time(0));
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   113
	
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   114
	//read upto milliseconds
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   115
	QString RetString;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   116
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   117
	QString Letters(
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   118
			"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   119
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   120
	//append a randomly generated string to RetString
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   121
	for (int i = 0; i < Length; i++)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   122
		{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   123
		RetString.insert((i), Letters.at(rand() % Letters.size()));
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   124
		}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   125
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   126
	return RetString;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   127
	}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   128
///////////////////////////////////////////////////////////////////////////////////////////////////
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   129
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   130
FBLoginDialog::FBLoginDialog() : FBDialog () {}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   131
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   132
FBLoginDialog::FBLoginDialog(FBSession* aSession) : FBDialog(aSession) {}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   133
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   134
///////////////////////////////////////////////////////////////////////////////////////////////////
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   135
// FBDialog
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   136
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   137
void FBLoginDialog::load()
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   138
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   139
	qDebug()<<"Inside FBLoginDialog::load()";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   140
    loadLoginPage();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   141
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   142
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   143
void FBLoginDialog::dialogWillDisappear()
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   144
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   145
	qDebug()<<"Inside FBLoginDialog::dialogWillDisappear()";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   146
  iGetSessionRequest->cancel();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   147
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   148
  if (!iSession->isConnected())
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   149
  {
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   150
      iSession->cancelLogin();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   151
  }
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   152
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   153
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   154
void FBLoginDialog::GetSessionKey(const QUrl& aUrl)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   155
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   156
	qDebug()<<"Inside FBLoginDialog::GetSessionKey()";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   157
    const QString authToken = "auth_token=";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   158
    const QString url ( aUrl.toString() );
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   159
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   160
    int start = url.indexOf(authToken);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   161
    if (start != -1)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   162
    {
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   163
        QString token;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   164
        int end = url.indexOf("&", start);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   165
        int delta = start + authToken.size() + 1;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   166
        if (end != -1)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   167
        {
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   168
            token = url.mid(delta, end - delta );
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   169
        }
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   170
        else
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   171
        {
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   172
            token = url.right(url.size() - delta + 1);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   173
        }
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   174
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   175
        connectToGetSession(token);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   176
    }
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   177
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   178
void FBLoginDialog::FetchKeyFromUrl(const QUrl& aUrl)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   179
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   180
    const QString url ( aUrl.toString() );
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   181
    QStringList varList = url.split("{");
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   182
    QString newvar = varList[1];
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   183
    varList.clear();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   184
    varList = newvar.split(",");
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   185
    QString session_key = varList[0];
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   186
    QString uid = varList[1];
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   187
    QString expires = varList[2];
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   188
    QString secret = varList[3];
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   189
    varList.clear();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   190
    varList = session_key.split(":");
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   191
    session_key = varList[1];
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   192
    session_key = session_key.mid(1,session_key.length()-2);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   193
    varList.clear();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   194
    varList = uid.split(":");
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   195
    uid = varList[1];
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   196
	varList.clear();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   197
	varList = expires.split(":");
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   198
	expires = varList[1];
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   199
	varList.clear();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   200
	varList = secret.split(":");
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   201
	secret = varList[1];
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   202
	secret = secret.mid(1,secret.length()-2);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   203
	varList.clear();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   204
    qDebug()<<"session_key"<<session_key<<"\n";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   205
    qDebug()<<"uid"<<uid<<"\n";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   206
    qDebug()<<"expires"<<expires<<"\n";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   207
    qDebug()<<"secret"<<secret<<"\n";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   208
    uint expiry = expires.toUInt();//.toUInt(&conversionError);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   209
    QDateTime expiration; expiration.setTime_t( expiry );
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   210
    iSession->beginSession(session_key, secret,expiration);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   211
    iSession->resume();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   212
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   213
///////////////////////////////////////////////////////////////////////////////////////////////////
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   214
// slots for signals from FBRequest
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   215
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   216
void FBLoginDialog::requestDidLoad(const QVariant& aResult)
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   217
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   218
	qDebug()<<"Inside FBLoginDialog::requestDidLoad";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   219
    bool conversionError = false;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   220
    QVariantHash object = aResult.toHash();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   221
    QString sessionKey = object.value("session_key").toString();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   222
    QString sessionSecret = object.value("secret").toString();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   223
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   224
    QVariant ex = object.value("expires");
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   225
    uint expires = object.value("expires").toUInt(&conversionError);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   226
    QDateTime expiration; expiration.setTime_t( expires );
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   227
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   228
    iSession->beginSession(sessionKey, sessionSecret,expiration);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   229
    iSession->resume();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   230
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   231
    dismissWithSuccess(true, true);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   232
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   233
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   234
void FBLoginDialog::requestFailedWithFacebookError (const FBError& aCode )
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   235
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   236
	qDebug()<<"Inside FBLoginDialog::requestFailedWithFacebookError()";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   237
    dismissWithError(aCode, true);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   238
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   239
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   240
void FBLoginDialog::requestFailedWithNetworkError( QNetworkReply::NetworkError aCode )
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   241
{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   242
	qDebug()<<"Inside FBLoginDialog::requestFailedWithNetworkError()";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   243
    dismissWithError(aCode, true);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   244
}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   245
void FBLoginDialog::LoadLoginPage()
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   246
	{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   247
	
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   248
	qDebug()<<"Enter: LoadLoginPage()";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   249
	QString LoginUrl = kAuthorizeUrl + "?oauth_token=";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   250
	LoginUrl += iSession->stroauth_Token;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   251
	
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   252
/*	QNetworkCookieJar* cookieJar = iWebView->page()->networkAccessManager()->cookieJar();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   253
	iWebView->page()->networkAccessManager()->setCookieJar(cookieJar);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   254
	QNetworkCookie testCookie;// "test_cookie", "1");
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   255
	
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   256
	testCookie.setDomain ( "twitter.com" );
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   257
	QDateTime dt = QDateTime::currentDateTime();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   258
	dt.addDays(1);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   259
	testCookie.setExpirationDate(dt);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   260
	testCookie.setHttpOnly(false);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   261
	testCookie.setName("twittercookie");
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   262
	testCookie.setValue("1");
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   263
	testCookie.setPath ( "/" );
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   264
	testCookie.setSecure ( true);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   265
	QList<QNetworkCookie> cookieList;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   266
	cookieList.append(testCookie);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   267
	cookieJar->setCookiesFromUrl ( cookieList, QUrl("https://www.twitter.com/") );
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   268
	QWebSettings::globalSettings()->setOfflineStoragePath("C:\\Data");*/
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   269
	
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   270
	iWebView->load(LoginUrl);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   271
	qDebug()<<"Exit: LoadLoginPage()";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   272
	   
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   273
	}
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   274
void FBLoginDialog::GetAccessToken()
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   275
	{
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   276
		qDebug()<<"Inside FBLoginDialog::GetAccessToken()";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   277
	    Dictionary postParams;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   278
	    iSession->stroauth_nonce = generateNONCE(43);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   279
		iSession->stroauth_timestamp = generateTimeStamp();
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   280
		
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   281
	    postParams["oauth_consumer_key"] = kConsumerKey;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   282
	    postParams["oauth_nonce"] = iSession->stroauth_nonce;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   283
	    postParams["oauth_signature_method"] = "HMAC-SHA1";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   284
	    postParams["oauth_token"] = iSession->stroauth_Token;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   285
	    postParams["oauth_timestamp"] = iSession->stroauth_timestamp;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   286
	    postParams["oauth_verifier"] = iSession->stroauth_verifier;
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   287
	    postParams["oauth_version"] = "1.0";
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   288
	    
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   289
	    iSession->stroauth_signature = iGetSessionRequest->generateSig(postParams);
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   290
		
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   291
	    iGetSessionRequest->connect_req("/access_token");
83d6a149c755 Submitting following changes -
cgandhi
parents:
diff changeset
   292
	}