pipacs / o2

OAuth 2.0 for Qt
BSD 2-Clause "Simplified" License
317 stars 147 forks source link

Automatic favicon retrieval breaks the link shortly after it has been established #20

Closed flxw closed 10 years ago

flxw commented 10 years ago

I managed to get o2 to work with SoundCloud. On a x64 Arch Linux with chromium, the function O2ReplyServer::onBytesReady() is called twice!

Once for the original redirect and another time for the favicon request that chromium issues automatically. A quick workaround is to quickly grab the token from the O2 object before it is deleted again:

void MainWindow::onLinkingSucceeded() {
    // Login has succeeded
    qDebug() << "Gained like a boss!";
    isReady = true;
    token = authenticator->token();
}

Of course this should not be left as it is. If I am able to fix it, I will give you a pull request!

pipacs commented 10 years ago

Hi Felix,

Why don’t you just use an embedded web view (QWebView or similar) instead of a full-blown web browser?

~ Akos.

On 04 May 2014, at 21:58, Felix Wolff notifications@github.com wrote:

I managed to get o2 to work with SoundCloud. On a x64 Arch Linux with chromium, the function onBytesReady() is called twice!

Once for the original redirect and another time for the favicon request that chromium issues automatically. A quick workaround is to quickly grab the token from the O2 object before it is deleted again:

void MainWindow::onLinkingSucceeded() { // Login has succeeded qDebug() << "Gained like a boss!"; isReady = true; token = authenticator->token(); }

Of course this should not be left as it is. If I am able to fix it, I will give you a pull request!

— Reply to this email directly or view it on GitHub.

flxw commented 10 years ago

Hey Akos,

while that won't fix the problem in general, it is definitely a possibility. As it fits quite nicely into my app, I'll consider it.

Best,

Felix

pipacs commented 10 years ago

Hi Felix,

the OAuth standard doesn’t deal with favicons. You are simply using the wrong tool to interact with the user — that is the source of the problem.

~ Akos.

On 05 May 2014, at 13:45, Felix Wolff notifications@github.com wrote:

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1

Hey Akos,

while that won't fix the problem in general, it is definitely a possibility. As it fits quite nicely into my app, I'll consider it.

Best,

Felix

On Mon, 05 May 2014 00:07:52 -0700 Akos Polster notifications@github.com wrote:

Hi Felix,

Why don’t you just use an embedded web view (QWebView or similar) instead of a full-blown web browser?

~ Akos.

On 04 May 2014, at 21:58, Felix Wolff notifications@github.com wrote:

I managed to get o2 to work with SoundCloud. On a x64 Arch Linux with chromium, the function onBytesReady() is called twice!

Once for the original redirect and another time for the favicon request that chromium issues automatically. A quick workaround is to quickly grab the token from the O2 object before it is deleted again:

void MainWindow::onLinkingSucceeded() { // Login has succeeded qDebug() << "Gained like a boss!"; isReady = true; token = authenticator->token(); }

Of course this should not be left as it is. If I am able to fix it, I will give you a pull request!

— Reply to this email directly or view it on GitHub.


Reply to this email directly or view it on GitHub: https://github.com/pipacs/o2/issues/20#issuecomment-42163599 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux)

iQIcBAEBAgAGBQJTZ3nMAAoJED9FWZL3RXIP54oP+wez2w/A8dUf9K3IWLCg4oxf ifaxRlYIWgbPUIbWQixFt3n1De4pO7Id493gLjnHYE3XK7WHaKJjtA5WYvbKEM9I ciuo6vWac8VkafE0FVRE2TeNeINv2+R488A16Ggokdz1X7mdgP8nNv40XlnKzmWe BslT5W3fSTfPnfMKw/L4ySgs1o9DBu8DfeLkNRWN01R4YVjfzU4I7QGAUeC/SyiH WwMFbBOVYejLismwUVKnmLdviTcbz65VJqsfuo0E1PFTLtBgc3MZW4aDmjNAgBrH w2bvicPWBqNUA2VtGMmJ8jGkv85A7zV2jztD5Q3YA7fqDFdGiQ82mWEJ9SKALmAN A9u9e4zJeLGcQxCqR2iudLmNm2elwtkOcZTAL+IlhP/bbhlqOCUyjzyuOMc+C4Tz eu3sPsqo3LpTqbIi99Zzh0q0DToXywQZylDCPJYTfcEjSFB5ATklCPHtkklMtVEv hcY2wN/KSKKAH4Zpsmu1v6VZVWiWyMU8M998bmRLQMsxU/dTy6U46iEd55CCIZQw l2TFGVG7hD2SPaHJhLM2uiAJqTyRvdMbfq+n4ckFt/jHbbW3FbU/aWFV9NwOmpiS acsnP/LfTXX8qGkiruP+vdEqQ+8VVYsWe7fK/aOgVkmf3Al3p6JBcJlLGyHf2HXn SMYY9T6UrgXrIGGxWNrh =2woj -----END PGP SIGNATURE----- — Reply to this email directly or view it on GitHub.

flxw commented 10 years ago

Hey Akos,

thanks for the quick followup. I'll refactor my code then. And while I am at it: Thank you SO much for creating this library! It saved me lots of work :+1: