QOAuth
Qt Components
Score 59%
Description:

QOAuth is an attempt to support interaction with OAuth-powered network services
in a Qt way, i.e. simply, clearly and efficiently. It gives the application
developer no more than 4 methods, namely:

* requestToken() – to obtain an unauthorized Request Token,
* accessToken() – to exchange Request Token for the Access Token,
* createParametersString() – to construct a request according to OAuth
authorization scheme,
* inlineParemeters() - to construct a query string basing on given parameters
(provided only for convenience).

First two methods serve application authorization purposes, whilst the other two
are used for accessing Protected Resources. The complete documentation is
available locally as well as online:
http://files.ayoy.net/qoauth/1.0.1/doc

QOAuth internally makes use of QCA (Qt Cryptographic Architecture). Here is the
complete list of its dependencies:

1. Qt libraries 4.4 at least,
2. QCA (Qt Cryptographic Architecture), available from Delta XMPP Project
3. OpenSSL plugin to QCA, available from QCA homepage (this pulls in
a dependency on OpenSSL of course).
Note: KDE users meet all the requirements out of the box.

HOW TO INSTALL:
$ qmake
$ make
$ sudo make install

HOW TO USE:
Add these two lines to your project:
* in project file:
CONFIG += oauth
* in source code:
#include
You can start using QOAuth.

BUGS AND ISSUES:
report them to QOAuth's bug tracking system:
http://ayoy.lighthouseapp.com/projects/32547-qoauth/tickets?q=all
Last changelog:

8 years ago

v1.0.1 (01/08/2010):
* new API:
- QOAuth::Interface::networkAccessManager()
- QOAuth::Interface::setNetworkAccessManager()
- QOAuth::Interface::ignoreSslErrors()
- QOAuth::Interface::setIgnoreSslErrors()
refer to the API docs for more info,
* added missing export statements to some global functions,
* Percent encode consumer secret and token secret for the Signature Base String signing key [#8],
* Parse for request content when sending POST [#10],
* API docs and examples fixes [#9],
* temporarily removed QOAuth::DELETE from QOAuth::HttpMethod enum on Windows [#4],
* buildsystem fixes - install under /usr/lib64 on 64-bit Unix-like systems and
make use of QT_INSTALL_HEADERS in oauth.prf.

v1.0 (07/08/2009):
* Added support for RSA-SHA1 signing algorithm, also working with
passphrase-protected private RSA keys.
* Added initial support for PLAINTEXT authorization.
* inlineParameters() extended by the parameter specifying parsing method,
* Introduced the QOAuth namespace, with QOAuth::Interface class holding the core
functionality.

v0.1.0 (23/06/2009):
* Initial release of the QOAuth library, implementation of the OAuth
authorization flow with support for encrypting QOAuth requests using HMAC-SHA1
algorithm.

Stumbles

5 years ago

Using qoauth-1.0.1 or a git pull (today) the make fails on;


make[2]: Entering directory `/usr/src/qoauth-1.0.1-src/tests/ft_interface'
g++ -m64 -Wl,-O1 -Wl,-rpath,/usr/lib/qt4 -o ft_interface ft_interface.o moc_ft_interface.o -L/usr/lib/qt4 -L/usr/src/qoauth-1.0.1-src/lib -lqoauth -L/usr/lib/qt4 -L/usr/lib -Wl,-rpath,../../lib:lib -lqca -lQtTest -lQtNetwork -lQtCore -lpthread
ft_interface.o: In function `QOAuth::Ft_Interface::accessResourcesRSA()':
ft_interface.cpp:(.text+0x586e): undefined reference to `QOAuth::InterfacePrivate::replyToMap(QByteArray const&)'
ft_interface.o: In function `QOAuth::Ft_Interface::accessResources()':
ft_interface.cpp:(.text+0x7096): undefined reference to `QOAuth::InterfacePrivate::replyToMap(QByteArray const&)'
collect2: ld returned 1 exit status
make[2]: *** [ft_interface] Error 1
make[2]: Leaving directory `/usr/src/qoauth-1.0.1-src/tests/ft_interface'
make[1]: *** [sub-ft_interface-make_default] Error 2
make[1]: Leaving directory `/usr/src/qoauth-1.0.1-src/tests'
make: *** [sub-tests-make_default-ordered] Error 2

Report

Stumbles

5 years ago

Using qoauth-1.0.1 or a git pull (today) the make fails on;


make[2]: Entering directory `/usr/src/qoauth-1.0.1-src/tests/ft_interface'
g++ -m64 -Wl,-O1 -Wl,-rpath,/usr/lib/qt4 -o ft_interface ft_interface.o moc_ft_interface.o -L/usr/lib/qt4 -L/usr/src/qoauth-1.0.1-src/lib -lqoauth -L/usr/lib/qt4 -L/usr/lib -Wl,-rpath,../../lib:lib -lqca -lQtTest -lQtNetwork -lQtCore -lpthread
ft_interface.o: In function `QOAuth::Ft_Interface::accessResourcesRSA()':
ft_interface.cpp:(.text+0x586e): undefined reference to `QOAuth::InterfacePrivate::replyToMap(QByteArray const&)'
ft_interface.o: In function `QOAuth::Ft_Interface::accessResources()':
ft_interface.cpp:(.text+0x7096): undefined reference to `QOAuth::InterfacePrivate::replyToMap(QByteArray const&)'
collect2: ld returned 1 exit status
make[2]: *** [ft_interface] Error 1
make[2]: Leaving directory `/usr/src/qoauth-1.0.1-src/tests/ft_interface'
make[1]: *** [sub-ft_interface-make_default] Error 2
make[1]: Leaving directory `/usr/src/qoauth-1.0.1-src/tests'
make: *** [sub-tests-make_default-ordered] Error 2

Report

andrius

6 years ago

does anyone have any clue why on qoauth it creates qoauth1.lib but tries to link the tests against qoauth.lib? (without the "1") ?

Report

willemarf

7 years ago

how install for windows?

2. QCA (Qt Cryptographic Architecture), available from Delta XMPP Project
3. OpenSSL plugin to QCA, available from QCA homepage (this pulls in
a dependency on OpenSSL of course).

QOAuth?

I have no idea how I am newbie...

has a site showing in detail the installation?

mac and windows?

thanks

Report

rendyjr

6 years ago

so do i. How to use it in windows?

Report

Stil-r

7 years ago

>This file is a part of libqoauth. You should not include it directly in your application.

Report

ayoy

7 years ago

For convenience. Including <QtOAuth> would do, it includes all the necessary headers for you, so that you don't need to include them by hand.

Report

fifawww

7 years ago

I complie the code with vs2008,But it didn't work.It show there messages:
error LNK2019: unresolved external symbol class QByteArray __cdecl QOAuth::tokenSecretParameterName(void)...

error LNK2019: unresolved external symbol class QByteArray __cdecl QOAuth::tokenParameterName(void)......

error LNK2019: unresolved external symbol
public: class QMultiMap<class QByteArray,class QByteArray> __thiscall QOAuth::InterfacePrivate::replyToMap....

ayoy,Can you know how to deal with this?

Report

mariuz

8 years ago

here is the error on ubuntu karmic
with qt 4.5.2

http://paste.ubuntu.com/207485/

Report

mariuz

8 years ago

qtwitter latest from git

Report

ayoy

8 years ago

From what I see, you probably have previously compiled and installed qtwitter without OAuth support, and now trying to compile it with OAuth enabled. Prior to it, please uninstall the previous installation (sudo make uninstall in qtwitter's source directory should do the job). Then make distclean, and start again with qmake and make.

The problem is that while linking, linker refers to libtwitterapi installed in system (without OAuth support) and not the one just compiled. I repeated this scenarion in Jaunty and got the same errors, so I guess that's it.

Report

mariuz

8 years ago

Thanks that was the issue

Report

mariuz

8 years ago

sudo apt-get install libqca2-plugin-ossl

libqca2-plugin-ossl is already the newest version.


Oh well now try to compile the qtwitter

but that is another issue
/home/mariuz/work/qtwitter/qtwitter-app/src/core.cpp:71: undefined reference to `TwitterAPIInterface::setConsumerKey(QByteArray const&)'

Report

ayoy

8 years ago

Are you sure you're compiling the most fresh code from github? It works for me on several distros, including Debian. If you like, you can report a bug http://ayoy.lighthouseapp.com/projects/27230-qtwitter/tickets?q=all, but please provide info on your host and qtwitter's version that you are building etc.

Report

mariuz

8 years ago

and basic install works

you need libqca2-dev installed

Report

ayoy

8 years ago

Good to hear this, thanks! But to make use of the library, you would need also libqca2-plugin-ossl. It compiles without it, but uses its functionality for HMAC-SHA1 encryption.

Report

8 years ago

v1.0.1 (01/08/2010):
* new API:
- QOAuth::Interface::networkAccessManager()
- QOAuth::Interface::setNetworkAccessManager()
- QOAuth::Interface::ignoreSslErrors()
- QOAuth::Interface::setIgnoreSslErrors()
refer to the API docs for more info,
* added missing export statements to some global functions,
* Percent encode consumer secret and token secret for the Signature Base String signing key [#8],
* Parse for request content when sending POST [#10],
* API docs and examples fixes [#9],
* temporarily removed QOAuth::DELETE from QOAuth::HttpMethod enum on Windows [#4],
* buildsystem fixes - install under /usr/lib64 on 64-bit Unix-like systems and
make use of QT_INSTALL_HEADERS in oauth.prf.

v1.0 (07/08/2009):
* Added support for RSA-SHA1 signing algorithm, also working with
passphrase-protected private RSA keys.
* Added initial support for PLAINTEXT authorization.
* inlineParameters() extended by the parameter specifying parsing method,
* Introduced the QOAuth namespace, with QOAuth::Interface class holding the core
functionality.

v0.1.0 (23/06/2009):
* Initial release of the QOAuth library, implementation of the OAuth
authorization flow with support for encrypting QOAuth requests using HMAC-SHA1
algorithm.

product-maker Dganic Sep 03 2012

product-maker 6 10

File (click to download) Version Description Filetype Packagetype License Downloads Date Filesize OCS-Install DL
Details
version
1.0.1
updated Aug 01 2010
added Jun 24 2009
downloads today
0
page views today 0