[jitsi-dev] Google Contacts and OAuth 2 authentication


#1

Hi all,

As you know, Google Contacts stopped working some time ago, because
authentication via client login was not accepted anymore by Google. Last
night I pushed some modifications to Jitsi that *should* make it
possible to use Google Contacts again. Google Contacts will now use the
recommended authentication method: OAuth 2.

However, OAuth 2 works slightly different and Jitsi depends on 1
additional step from the user. The first time Google Contacts is used
for a Google account in Jitsi, the user will have to approve Jitsi for
access to the contacts of your account. (Once for every configured account.)

So how does that work?
1. Configure your Google account as you would normally. (If you did this
already, then you need not repeat this step.)
2. On first usage, Jitsi will show a popup asking you to visit a URL by
clicking the provided link. This link takes you to a Google URL at which
Google will ask you to approve a Jitsi for access to your contacts. This
will allow Jitsi to download profile data for your contacts.
PLEASE NOTE that you need to approve the account that is named in the
popup window. You may need to log in with the correct Google account for
this.
3. After approving, you will go to a new website on which Google
provides you with an access code. This code needs to be copied to the
Jitsi popup dialog. Once confirmed, Jitsi will get access to the
account. A token is stored (safely, like passwords) for future use.

Every next time you will use Google Contacts, Jitsi will automatically
request access using the token it received earlier. Unless you lose your
Jitsi configuration, you should not need to approve access anymore. It
is also possible to revoke Jitsi's access. You can find this option in
the Security options of your Google account. (Log in to Google.)

The implementation should be available in the next Jitsi nightly that is
built.

As always, let me know if there are any issues.

Danny


#2

Hi Danny,

Awesome! Thanks for fixing this!!

I’ll let you know for any issues as soon as I try it.

Cheers,
Yana

···

On 21 Jul 2015, at 1:20 pm, Danny van Heumen <danny@dannyvanheumen.nl> wrote:

Hi all,

As you know, Google Contacts stopped working some time ago, because
authentication via client login was not accepted anymore by Google. Last
night I pushed some modifications to Jitsi that *should* make it
possible to use Google Contacts again. Google Contacts will now use the
recommended authentication method: OAuth 2.

However, OAuth 2 works slightly different and Jitsi depends on 1
additional step from the user. The first time Google Contacts is used
for a Google account in Jitsi, the user will have to approve Jitsi for
access to the contacts of your account. (Once for every configured account.)

So how does that work?
1. Configure your Google account as you would normally. (If you did this
already, then you need not repeat this step.)
2. On first usage, Jitsi will show a popup asking you to visit a URL by
clicking the provided link. This link takes you to a Google URL at which
Google will ask you to approve a Jitsi for access to your contacts. This
will allow Jitsi to download profile data for your contacts.
PLEASE NOTE that you need to approve the account that is named in the
popup window. You may need to log in with the correct Google account for
this.
3. After approving, you will go to a new website on which Google
provides you with an access code. This code needs to be copied to the
Jitsi popup dialog. Once confirmed, Jitsi will get access to the
account. A token is stored (safely, like passwords) for future use.

Every next time you will use Google Contacts, Jitsi will automatically
request access using the token it received earlier. Unless you lose your
Jitsi configuration, you should not need to approve access anymore. It
is also possible to revoke Jitsi's access. You can find this option in
the Security options of your Google account. (Log in to Google.)

The implementation should be available in the next Jitsi nightly that is
built.

As always, let me know if there are any issues.

Danny

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev


#3

Hi,

Thanks Danny it is working for me.
Just one thing I come to is that when I first opened Jitsi after an
update I typed two letters in the search field and I was presented
with two dialogs to confirm access to Jitsi (two per account and as I
have two google accounts at the end I had 4 dialogs on over each other
:)). Maybe we need to skip queries if we already have a dialog opened
for an account?

Regards
damencho

···

On Tue, Jul 21, 2015 at 1:35 PM, Yana Stamcheva <yana@jitsi.org> wrote:

Hi Danny,

Awesome! Thanks for fixing this!!

I’ll let you know for any issues as soon as I try it.

Cheers,
Yana

On 21 Jul 2015, at 1:20 pm, Danny van Heumen <danny@dannyvanheumen.nl> wrote:

Hi all,

As you know, Google Contacts stopped working some time ago, because
authentication via client login was not accepted anymore by Google. Last
night I pushed some modifications to Jitsi that *should* make it
possible to use Google Contacts again. Google Contacts will now use the
recommended authentication method: OAuth 2.

However, OAuth 2 works slightly different and Jitsi depends on 1
additional step from the user. The first time Google Contacts is used
for a Google account in Jitsi, the user will have to approve Jitsi for
access to the contacts of your account. (Once for every configured account.)

So how does that work?
1. Configure your Google account as you would normally. (If you did this
already, then you need not repeat this step.)
2. On first usage, Jitsi will show a popup asking you to visit a URL by
clicking the provided link. This link takes you to a Google URL at which
Google will ask you to approve a Jitsi for access to your contacts. This
will allow Jitsi to download profile data for your contacts.
PLEASE NOTE that you need to approve the account that is named in the
popup window. You may need to log in with the correct Google account for
this.
3. After approving, you will go to a new website on which Google
provides you with an access code. This code needs to be copied to the
Jitsi popup dialog. Once confirmed, Jitsi will get access to the
account. A token is stored (safely, like passwords) for future use.

Every next time you will use Google Contacts, Jitsi will automatically
request access using the token it received earlier. Unless you lose your
Jitsi configuration, you should not need to approve access anymore. It
is also possible to revoke Jitsi's access. You can find this option in
the Security options of your Google account. (Log in to Google.)

The implementation should be available in the next Jitsi nightly that is
built.

As always, let me know if there are any issues.

Danny

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev


#4

Hey Danny,

Just tried it and it works great! Thanks once again!

I have to add a few minor problems, to what Damian said :slight_smile:

I have 2 google accounts and one of them wasn’t connected, but I still got a prompt for it. I think it would make sense to authenticate only connected accounts.

Another minor problem is that it’s not very easy to see that the “Approve Jitsi’s access..” text is actually a link. May be “Please click _here_ to approve jitsi access for xxxx@gmail.com <mailto:xxxx@gmail.com>. After approving please enter the generated code in the field below.” I believe this would sound even better if preceded with an explanation like for example “Google Contacts plugin for XXX@gmail.com <mailto:XXX@gmail.com> needs your approval.” This maybe in bold.

I’m wondering if the “Done” button shouldn’t be a “Save” button, thus indicating the user that the code will be saved for future use.

Adding an empty border around components and adding a title could also improve the looks of the window :slight_smile:

Cheers,
Yana

···

On 21 Jul 2015, at 1:51 pm, Damian Minkov <damencho@jitsi.org> wrote:

Hi,

Thanks Danny it is working for me.
Just one thing I come to is that when I first opened Jitsi after an
update I typed two letters in the search field and I was presented
with two dialogs to confirm access to Jitsi (two per account and as I
have two google accounts at the end I had 4 dialogs on over each other
:)). Maybe we need to skip queries if we already have a dialog opened
for an account?

Regards
damencho

On Tue, Jul 21, 2015 at 1:35 PM, Yana Stamcheva <yana@jitsi.org> wrote:

Hi Danny,

Awesome! Thanks for fixing this!!

I’ll let you know for any issues as soon as I try it.

Cheers,
Yana

On 21 Jul 2015, at 1:20 pm, Danny van Heumen <danny@dannyvanheumen.nl> wrote:

Hi all,

As you know, Google Contacts stopped working some time ago, because
authentication via client login was not accepted anymore by Google. Last
night I pushed some modifications to Jitsi that *should* make it
possible to use Google Contacts again. Google Contacts will now use the
recommended authentication method: OAuth 2.

However, OAuth 2 works slightly different and Jitsi depends on 1
additional step from the user. The first time Google Contacts is used
for a Google account in Jitsi, the user will have to approve Jitsi for
access to the contacts of your account. (Once for every configured account.)

So how does that work?
1. Configure your Google account as you would normally. (If you did this
already, then you need not repeat this step.)
2. On first usage, Jitsi will show a popup asking you to visit a URL by
clicking the provided link. This link takes you to a Google URL at which
Google will ask you to approve a Jitsi for access to your contacts. This
will allow Jitsi to download profile data for your contacts.
PLEASE NOTE that you need to approve the account that is named in the
popup window. You may need to log in with the correct Google account for
this.
3. After approving, you will go to a new website on which Google
provides you with an access code. This code needs to be copied to the
Jitsi popup dialog. Once confirmed, Jitsi will get access to the
account. A token is stored (safely, like passwords) for future use.

Every next time you will use Google Contacts, Jitsi will automatically
request access using the token it received earlier. Unless you lose your
Jitsi configuration, you should not need to approve access anymore. It
is also possible to revoke Jitsi's access. You can find this option in
the Security options of your Google account. (Log in to Google.)

The implementation should be available in the next Jitsi nightly that is
built.

As always, let me know if there are any issues.

Danny

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev


#5

Yeah ... I know about that one ... :stuck_out_tongue:
I just discovered it this evening. I thought I fixed it yesterday by
making the calls synchronized, but that didn't work as expected.
(Actually, I'm not sure yet why it doesn't work. I probably remember
some detail wrongly.)

I'll have a look at it one of these days.

Thanks for letting me know.

Danny

···

On 21-07-15 20:51, Damian Minkov wrote:

Hi,

Thanks Danny it is working for me.
Just one thing I come to is that when I first opened Jitsi after an
update I typed two letters in the search field and I was presented
with two dialogs to confirm access to Jitsi (two per account and as I
have two google accounts at the end I had 4 dialogs on over each other
:)). Maybe we need to skip queries if we already have a dialog opened
for an account?

Regards
damencho

On Tue, Jul 21, 2015 at 1:35 PM, Yana Stamcheva <yana@jitsi.org> wrote:

Hi Danny,

Awesome! Thanks for fixing this!!

I’ll let you know for any issues as soon as I try it.

Cheers,
Yana

On 21 Jul 2015, at 1:20 pm, Danny van Heumen <danny@dannyvanheumen.nl> wrote:

Hi all,

As you know, Google Contacts stopped working some time ago, because
authentication via client login was not accepted anymore by Google. Last
night I pushed some modifications to Jitsi that *should* make it
possible to use Google Contacts again. Google Contacts will now use the
recommended authentication method: OAuth 2.

However, OAuth 2 works slightly different and Jitsi depends on 1
additional step from the user. The first time Google Contacts is used
for a Google account in Jitsi, the user will have to approve Jitsi for
access to the contacts of your account. (Once for every configured account.)

So how does that work?
1. Configure your Google account as you would normally. (If you did this
already, then you need not repeat this step.)
2. On first usage, Jitsi will show a popup asking you to visit a URL by
clicking the provided link. This link takes you to a Google URL at which
Google will ask you to approve a Jitsi for access to your contacts. This
will allow Jitsi to download profile data for your contacts.
PLEASE NOTE that you need to approve the account that is named in the
popup window. You may need to log in with the correct Google account for
this.
3. After approving, you will go to a new website on which Google
provides you with an access code. This code needs to be copied to the
Jitsi popup dialog. Once confirmed, Jitsi will get access to the
account. A token is stored (safely, like passwords) for future use.

Every next time you will use Google Contacts, Jitsi will automatically
request access using the token it received earlier. Unless you lose your
Jitsi configuration, you should not need to approve access anymore. It
is also possible to revoke Jitsi's access. You can find this option in
the Security options of your Google account. (Log in to Google.)

The implementation should be available in the next Jitsi nightly that is
built.

As always, let me know if there are any issues.

Danny

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev


#6

Hi Yana,

Thanks for the feedback. I'll put it on the list with damencho's item.

By the way, I agree with you on the link text. I had some "click here"
text in front of it but that made it too large. Adding an introductory
text above it is a better solution.

Danny

···

On 21-07-15 21:32, Yana Stamcheva wrote:

Hey Danny,

Just tried it and it works great! Thanks once again!

I have to add a few minor problems, to what Damian said :slight_smile:

I have 2 google accounts and one of them wasn’t connected, but I still
got a prompt for it. I think it would make sense to authenticate only
connected accounts.

Another minor problem is that it’s not very easy to see that the
“Approve Jitsi’s access..” text is actually a link. May be “Please
click _here_ to approve jitsi access for xxxx@gmail.com
<mailto:xxxx@gmail.com>. After approving please enter the generated
code in the field below.” I believe this would sound even better if
preceded with an explanation like for example “Google Contacts plugin
for XXX@gmail.com <mailto:XXX@gmail.com> needs your approval.” This
maybe in bold.

I’m wondering if the “Done” button shouldn’t be a “Save” button, thus
indicating the user that the code will be saved for future use.

Adding an empty border around components and adding a title could also
improve the looks of the window :slight_smile:

Cheers,
Yana

On 21 Jul 2015, at 1:51 pm, Damian Minkov <damencho@jitsi.org >> <mailto:damencho@jitsi.org>> wrote:

Hi,

Thanks Danny it is working for me.
Just one thing I come to is that when I first opened Jitsi after an
update I typed two letters in the search field and I was presented
with two dialogs to confirm access to Jitsi (two per account and as I
have two google accounts at the end I had 4 dialogs on over each other
:)). Maybe we need to skip queries if we already have a dialog opened
for an account?

Regards
damencho

On Tue, Jul 21, 2015 at 1:35 PM, Yana Stamcheva <yana@jitsi.org >> <mailto:yana@jitsi.org>> wrote:

Hi Danny,

Awesome! Thanks for fixing this!!

I’ll let you know for any issues as soon as I try it.

Cheers,
Yana

On 21 Jul 2015, at 1:20 pm, Danny van Heumen >>>> <danny@dannyvanheumen.nl <mailto:danny@dannyvanheumen.nl>> wrote:

Hi all,

As you know, Google Contacts stopped working some time ago, because
authentication via client login was not accepted anymore by Google.
Last
night I pushed some modifications to Jitsi that *should* make it
possible to use Google Contacts again. Google Contacts will now use the
recommended authentication method: OAuth 2.

However, OAuth 2 works slightly different and Jitsi depends on 1
additional step from the user. The first time Google Contacts is used
for a Google account in Jitsi, the user will have to approve Jitsi for
access to the contacts of your account. (Once for every configured
account.)

So how does that work?
1. Configure your Google account as you would normally. (If you did
this
already, then you need not repeat this step.)
2. On first usage, Jitsi will show a popup asking you to visit a URL by
clicking the provided link. This link takes you to a Google URL at
which
Google will ask you to approve a Jitsi for access to your contacts.
This
will allow Jitsi to download profile data for your contacts.
PLEASE NOTE that you need to approve the account that is named in the
popup window. You may need to log in with the correct Google
account for
this.
3. After approving, you will go to a new website on which Google
provides you with an access code. This code needs to be copied to the
Jitsi popup dialog. Once confirmed, Jitsi will get access to the
account. A token is stored (safely, like passwords) for future use.

Every next time you will use Google Contacts, Jitsi will automatically
request access using the token it received earlier. Unless you lose
your
Jitsi configuration, you should not need to approve access anymore. It
is also possible to revoke Jitsi's access. You can find this option in
the Security options of your Google account. (Log in to Google.)

The implementation should be available in the next Jitsi nightly
that is
built.

As always, let me know if there are any issues.

Danny

_______________________________________________
dev mailing list
dev@jitsi.org <mailto:dev@jitsi.org>
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@jitsi.org <mailto:dev@jitsi.org>
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@jitsi.org <mailto:dev@jitsi.org>
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev


#7

Hi,

I've fixed some of the issues listed:
* title,
* instructions,
* i18n (wasn't listed),
* Save-button,
* only 1 dialog at a time,
* modified hyperlink text.

I haven't added the border yet. I need to look into how I can add this.
I tried setting bounds, but that's not it, apparently.
Also, on resizing the textfield now resizes, which isn't the most useful
choice. Instructions label would be better.

If anyone else knows how to do the border, please do so. Otherwise I'll
have a look in a few days.

Danny

···

On 21-07-15 21:32, Yana Stamcheva wrote:

Hey Danny,

Just tried it and it works great! Thanks once again!

I have to add a few minor problems, to what Damian said :slight_smile:

I have 2 google accounts and one of them wasn’t connected, but I still
got a prompt for it. I think it would make sense to authenticate only
connected accounts.

Another minor problem is that it’s not very easy to see that the
“Approve Jitsi’s access..” text is actually a link. May be “Please
click _here_ to approve jitsi access for xxxx@gmail.com
<mailto:xxxx@gmail.com>. After approving please enter the generated
code in the field below.” I believe this would sound even better if
preceded with an explanation like for example “Google Contacts plugin
for XXX@gmail.com <mailto:XXX@gmail.com> needs your approval.” This
maybe in bold.

I’m wondering if the “Done” button shouldn’t be a “Save” button, thus
indicating the user that the code will be saved for future use.

Adding an empty border around components and adding a title could also
improve the looks of the window :slight_smile:

Cheers,
Yana

On 21 Jul 2015, at 1:51 pm, Damian Minkov <damencho@jitsi.org >> <mailto:damencho@jitsi.org>> wrote:

Hi,

Thanks Danny it is working for me.
Just one thing I come to is that when I first opened Jitsi after an
update I typed two letters in the search field and I was presented
with two dialogs to confirm access to Jitsi (two per account and as I
have two google accounts at the end I had 4 dialogs on over each other
:)). Maybe we need to skip queries if we already have a dialog opened
for an account?

Regards
damencho

On Tue, Jul 21, 2015 at 1:35 PM, Yana Stamcheva <yana@jitsi.org >> <mailto:yana@jitsi.org>> wrote:

Hi Danny,

Awesome! Thanks for fixing this!!

I’ll let you know for any issues as soon as I try it.

Cheers,
Yana

On 21 Jul 2015, at 1:20 pm, Danny van Heumen >>>> <danny@dannyvanheumen.nl <mailto:danny@dannyvanheumen.nl>> wrote:

Hi all,

As you know, Google Contacts stopped working some time ago, because
authentication via client login was not accepted anymore by Google.
Last
night I pushed some modifications to Jitsi that *should* make it
possible to use Google Contacts again. Google Contacts will now use the
recommended authentication method: OAuth 2.

However, OAuth 2 works slightly different and Jitsi depends on 1
additional step from the user. The first time Google Contacts is used
for a Google account in Jitsi, the user will have to approve Jitsi for
access to the contacts of your account. (Once for every configured
account.)

So how does that work?
1. Configure your Google account as you would normally. (If you did
this
already, then you need not repeat this step.)
2. On first usage, Jitsi will show a popup asking you to visit a URL by
clicking the provided link. This link takes you to a Google URL at
which
Google will ask you to approve a Jitsi for access to your contacts.
This
will allow Jitsi to download profile data for your contacts.
PLEASE NOTE that you need to approve the account that is named in the
popup window. You may need to log in with the correct Google
account for
this.
3. After approving, you will go to a new website on which Google
provides you with an access code. This code needs to be copied to the
Jitsi popup dialog. Once confirmed, Jitsi will get access to the
account. A token is stored (safely, like passwords) for future use.

Every next time you will use Google Contacts, Jitsi will automatically
request access using the token it received earlier. Unless you lose
your
Jitsi configuration, you should not need to approve access anymore. It
is also possible to revoke Jitsi's access. You can find this option in
the Security options of your Google account. (Log in to Google.)

The implementation should be available in the next Jitsi nightly
that is
built.

As always, let me know if there are any issues.

Danny

_______________________________________________
dev mailing list
dev@jitsi.org <mailto:dev@jitsi.org>
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@jitsi.org <mailto:dev@jitsi.org>
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@jitsi.org <mailto:dev@jitsi.org>
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev


#8

Hi,

···

On Wed, Jul 22, 2015 at 4:34 PM, Danny van Heumen <danny@dannyvanheumen.nl> wrote:

If anyone else knows how to do the border, please do so. Otherwise I'll
have a look in a few days.

I think it is fixed with 82f34bc.

Thanks
damencho


#9

Just tried this and I love the experience!

Thanks for your work guys!


#10

Hey,

Thank you all for the work on this!

I notice one small issue: without enabling the feature the "Google Contacts authorization" box pops up after each character entered in the dial box (and it also happens without a google account online (I have one enabled but offline)).

Regards,
Boris

···

On 22/07/15 16:34, Danny van Heumen wrote:

Hi,

I've fixed some of the issues listed:
* title,
* instructions,
* i18n (wasn't listed),
* Save-button,
* only 1 dialog at a time,
* modified hyperlink text.

I haven't added the border yet. I need to look into how I can add this.
I tried setting bounds, but that's not it, apparently.
Also, on resizing the textfield now resizes, which isn't the most useful
choice. Instructions label would be better.

If anyone else knows how to do the border, please do so. Otherwise I'll
have a look in a few days.

Danny

On 21-07-15 21:32, Yana Stamcheva wrote:

Hey Danny,

Just tried it and it works great! Thanks once again!

I have to add a few minor problems, to what Damian said :slight_smile:

I have 2 google accounts and one of them wasn’t connected, but I still
got a prompt for it. I think it would make sense to authenticate only
connected accounts.

Another minor problem is that it’s not very easy to see that the
“Approve Jitsi’s access..” text is actually a link. May be “Please
click _here_ to approve jitsi access for xxxx@gmail.com
<mailto:xxxx@gmail.com>. After approving please enter the generated
code in the field below.” I believe this would sound even better if
preceded with an explanation like for example “Google Contacts plugin
for XXX@gmail.com <mailto:XXX@gmail.com> needs your approval.” This
maybe in bold.

I’m wondering if the “Done” button shouldn’t be a “Save” button, thus
indicating the user that the code will be saved for future use.

Adding an empty border around components and adding a title could also
improve the looks of the window :slight_smile:

Cheers,
Yana

On 21 Jul 2015, at 1:51 pm, Damian Minkov <damencho@jitsi.org >>> <mailto:damencho@jitsi.org>> wrote:

Hi,

Thanks Danny it is working for me.
Just one thing I come to is that when I first opened Jitsi after an
update I typed two letters in the search field and I was presented
with two dialogs to confirm access to Jitsi (two per account and as I
have two google accounts at the end I had 4 dialogs on over each other
:)). Maybe we need to skip queries if we already have a dialog opened
for an account?

Regards
damencho

On Tue, Jul 21, 2015 at 1:35 PM, Yana Stamcheva <yana@jitsi.org >>> <mailto:yana@jitsi.org>> wrote:

Hi Danny,

Awesome! Thanks for fixing this!!

I’ll let you know for any issues as soon as I try it.

Cheers,
Yana

On 21 Jul 2015, at 1:20 pm, Danny van Heumen >>>>> <danny@dannyvanheumen.nl <mailto:danny@dannyvanheumen.nl>> wrote:

Hi all,

As you know, Google Contacts stopped working some time ago, because
authentication via client login was not accepted anymore by Google.
Last
night I pushed some modifications to Jitsi that *should* make it
possible to use Google Contacts again. Google Contacts will now use the
recommended authentication method: OAuth 2.

However, OAuth 2 works slightly different and Jitsi depends on 1
additional step from the user. The first time Google Contacts is used
for a Google account in Jitsi, the user will have to approve Jitsi for
access to the contacts of your account. (Once for every configured
account.)

So how does that work?
1. Configure your Google account as you would normally. (If you did
this
already, then you need not repeat this step.)
2. On first usage, Jitsi will show a popup asking you to visit a URL by
clicking the provided link. This link takes you to a Google URL at
which
Google will ask you to approve a Jitsi for access to your contacts.
This
will allow Jitsi to download profile data for your contacts.
PLEASE NOTE that you need to approve the account that is named in the
popup window. You may need to log in with the correct Google
account for
this.
3. After approving, you will go to a new website on which Google
provides you with an access code. This code needs to be copied to the
Jitsi popup dialog. Once confirmed, Jitsi will get access to the
account. A token is stored (safely, like passwords) for future use.

Every next time you will use Google Contacts, Jitsi will automatically
request access using the token it received earlier. Unless you lose
your
Jitsi configuration, you should not need to approve access anymore. It
is also possible to revoke Jitsi's access. You can find this option in
the Security options of your Google account. (Log in to Google.)

The implementation should be available in the next Jitsi nightly
that is
built.

As always, let me know if there are any issues.

Danny

_______________________________________________
dev mailing list
dev@jitsi.org <mailto:dev@jitsi.org>
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@jitsi.org <mailto:dev@jitsi.org>
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@jitsi.org <mailto:dev@jitsi.org>
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev


#11

Hi Boris,

Hey,

Thank you all for the work on this!

I notice one small issue: without enabling the feature the "Google
Contacts authorization" box pops up after each character entered in
the dial box

This should now be reduced to 1 popup box at a time. However, if you
cancel a pop-up it will show again next time, that is true.

(and it also happens without a google account online (I have one
enabled but offline)).

Yana also remarked this and I forgot to answer that part then. The thing
is, the current behavior is like this already, AFAICT. And I think
there's something to say for that. You have set your Google account to
"offline" but that holds just for IM-related features. Google contacts
is an address book, which basically is another type of feature. Results
from the Google Contacts query cannot necessary be contacted directly.
It is just contact information.

So, in short. I prefer to keep the behavior like that. I believe it is
the default behavior and I think it makes sense.
What do you (or Yana) think?

Danny

···

On 27-07-15 19:03, Boris Grozev wrote:

Regards,
Boris

On 22/07/15 16:34, Danny van Heumen wrote:

Hi,

I've fixed some of the issues listed:
* title,
* instructions,
* i18n (wasn't listed),
* Save-button,
* only 1 dialog at a time,
* modified hyperlink text.

I haven't added the border yet. I need to look into how I can add this.
I tried setting bounds, but that's not it, apparently.
Also, on resizing the textfield now resizes, which isn't the most useful
choice. Instructions label would be better.

If anyone else knows how to do the border, please do so. Otherwise I'll
have a look in a few days.

Danny

On 21-07-15 21:32, Yana Stamcheva wrote:

Hey Danny,

Just tried it and it works great! Thanks once again!

I have to add a few minor problems, to what Damian said :slight_smile:

I have 2 google accounts and one of them wasn’t connected, but I still
got a prompt for it. I think it would make sense to authenticate only
connected accounts.

Another minor problem is that it’s not very easy to see that the
“Approve Jitsi’s access..” text is actually a link. May be “Please
click _here_ to approve jitsi access for xxxx@gmail.com
<mailto:xxxx@gmail.com>. After approving please enter the generated
code in the field below.” I believe this would sound even better if
preceded with an explanation like for example “Google Contacts plugin
for XXX@gmail.com <mailto:XXX@gmail.com> needs your approval.” This
maybe in bold.

I’m wondering if the “Done” button shouldn’t be a “Save” button, thus
indicating the user that the code will be saved for future use.

Adding an empty border around components and adding a title could also
improve the looks of the window :slight_smile:

Cheers,
Yana

On 21 Jul 2015, at 1:51 pm, Damian Minkov <damencho@jitsi.org >>>> <mailto:damencho@jitsi.org>> wrote:

Hi,

Thanks Danny it is working for me.
Just one thing I come to is that when I first opened Jitsi after an
update I typed two letters in the search field and I was presented
with two dialogs to confirm access to Jitsi (two per account and as I
have two google accounts at the end I had 4 dialogs on over each other
:)). Maybe we need to skip queries if we already have a dialog opened
for an account?

Regards
damencho

On Tue, Jul 21, 2015 at 1:35 PM, Yana Stamcheva <yana@jitsi.org >>>> <mailto:yana@jitsi.org>> wrote:

Hi Danny,

Awesome! Thanks for fixing this!!

I’ll let you know for any issues as soon as I try it.

Cheers,
Yana

On 21 Jul 2015, at 1:20 pm, Danny van Heumen >>>>>> <danny@dannyvanheumen.nl <mailto:danny@dannyvanheumen.nl>> wrote:

Hi all,

As you know, Google Contacts stopped working some time ago, because
authentication via client login was not accepted anymore by Google.
Last
night I pushed some modifications to Jitsi that *should* make it
possible to use Google Contacts again. Google Contacts will now
use the
recommended authentication method: OAuth 2.

However, OAuth 2 works slightly different and Jitsi depends on 1
additional step from the user. The first time Google Contacts is
used
for a Google account in Jitsi, the user will have to approve
Jitsi for
access to the contacts of your account. (Once for every configured
account.)

So how does that work?
1. Configure your Google account as you would normally. (If you did
this
already, then you need not repeat this step.)
2. On first usage, Jitsi will show a popup asking you to visit a
URL by
clicking the provided link. This link takes you to a Google URL at
which
Google will ask you to approve a Jitsi for access to your contacts.
This
will allow Jitsi to download profile data for your contacts.
PLEASE NOTE that you need to approve the account that is named in
the
popup window. You may need to log in with the correct Google
account for
this.
3. After approving, you will go to a new website on which Google
provides you with an access code. This code needs to be copied to
the
Jitsi popup dialog. Once confirmed, Jitsi will get access to the
account. A token is stored (safely, like passwords) for future use.

Every next time you will use Google Contacts, Jitsi will
automatically
request access using the token it received earlier. Unless you lose
your
Jitsi configuration, you should not need to approve access
anymore. It
is also possible to revoke Jitsi's access. You can find this
option in
the Security options of your Google account. (Log in to Google.)

The implementation should be available in the next Jitsi nightly
that is
built.

As always, let me know if there are any issues.

Danny

_______________________________________________
dev mailing list
dev@jitsi.org <mailto:dev@jitsi.org>
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@jitsi.org <mailto:dev@jitsi.org>
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@jitsi.org <mailto:dev@jitsi.org>
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev


#12

Hi Boris,

Hey,

Thank you all for the work on this!

I notice one small issue: without enabling the feature the "Google
Contacts authorization" box pops up after each character entered in
the dial box

This should now be reduced to 1 popup box at a time. However, if you
cancel a pop-up it will show again next time, that is true.

Is this one pop-up box each time you type text in the dial box? Or still one pop-up box per character (assuming you cancel it each time)? I'm running 2.9.5463 and it pops up on every char.

(and it also happens without a google account online (I have one
enabled but offline)).

Yana also remarked this and I forgot to answer that part then. The thing
is, the current behavior is like this already, AFAICT. And I think
there's something to say for that. You have set your Google account to
"offline" but that holds just for IM-related features. Google contacts
is an address book, which basically is another type of feature. Results
from the Google Contacts query cannot necessary be contacted directly.
It is just contact information.

So, in short. I prefer to keep the behavior like that. I believe it is
the default behavior and I think it makes sense.
What do you (or Yana) think?

I don't think the current behavior is OK. If you don't want to use GC, you have to close the pop-up after each character you enter (on mac at least the pop-up takes focus and you cannot continue to type until you close it).

In the ideal case there would be a button on the pop-up box to disable Google Contacts. But a property to disable it would also be fine. Do we already have one?

If the pop-up appeared just once per clicking on the dial-box that would also be fine.

Regards,
Boris

···

On 27/07/15 12:23, Danny van Heumen wrote:

On 27-07-15 19:03, Boris Grozev wrote:


#13

In the ideal case there would be a button on the pop-up box to disable
Google Contacts. But a property to disable it would also be fine. Do we
already have one?

Isn't the option XMPP-Account->Connection->Enable Google Contact search the
one you're looking for?

(Which is a bit of strange place for it. I'd prefer if an XMPP-account would
include itself in the list of address books and have an option there to
enable/disable it. But Danny, please, invest your time for something more
useful than to relocate that checkbox.)

If the pop-up appeared just once per clicking on the dial-box that would
also be fine.

Regards,
Boris

Ingo


#14

Hi,

Hi Boris,

Hey,

Thank you all for the work on this!

I notice one small issue: without enabling the feature the "Google
Contacts authorization" box pops up after each character entered in
the dial box

This should now be reduced to 1 popup box at a time. However, if you
cancel a pop-up it will show again next time, that is true.

Is this one pop-up box each time you type text in the dial box? Or
still one pop-up box per character (assuming you cancel it each time)?
I'm running 2.9.5463 and it pops up on every char.

1 Box per character per account. However, it will show only 1 box at a
time. So in case of multiple accounts, the boxes will follow up in sequence.

If you do not want to approve access, it is possible to disable Google
Contacts API connection in the account options. That's the way to go to
disable it. That's why you can only do one-time cancellation in the
popup box.

And once you have approved, OAuth 2 has facilities to refresh tokens so
you should keep authorization.

(and it also happens without a google account online (I have one
enabled but offline)).

Yana also remarked this and I forgot to answer that part then. The thing
is, the current behavior is like this already, AFAICT. And I think
there's something to say for that. You have set your Google account to
"offline" but that holds just for IM-related features. Google contacts
is an address book, which basically is another type of feature. Results
from the Google Contacts query cannot necessary be contacted directly.
It is just contact information.

So, in short. I prefer to keep the behavior like that. I believe it is
the default behavior and I think it makes sense.
What do you (or Yana) think?

I don't think the current behavior is OK. If you don't want to use GC,
you have to close the pop-up after each character you enter (on mac at
least the pop-up takes focus and you cannot continue to type until you
close it).

In the ideal case there would be a button on the pop-up box to disable
Google Contacts. But a property to disable it would also be fine. Do
we already have one?

Yes, in Google account options. (As mentioned above.) Or if this account
is added as an Contacts account, so not a full Google (Talk) account,
then you can remove the account there.

If the pop-up appeared just once per clicking on the dial-box that
would also be fine.

That's a bit harder to realise, since it will pop up if the connection
failed to establish. Also, it may not be necessary given that you can
disable it. If not, let me know and I'll see if I can tweak that part a bit.

... okay so now I noticed that Ingo actually already answered the
question. Well, given there's some extra details in there. I'll just end
it for archival/historical purposes. :stuck_out_tongue:

Danny

···

On 27-07-15 21:58, Boris Grozev wrote:

On 27/07/15 12:23, Danny van Heumen wrote:

On 27-07-15 19:03, Boris Grozev wrote:

Regards,
Boris

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev


#15

That's exactly what I was looking for! Sorry for the noise.

Boris

···

On 27/07/15 15:10, Ingo Bauersachs wrote:

In the ideal case there would be a button on the pop-up box to disable
Google Contacts. But a property to disable it would also be fine. Do we
already have one?

Isn't the option XMPP-Account->Connection->Enable Google Contact search the
one you're looking for?


#16

1 Box per character per account. However, it will show only 1 box at a
time. So in case of multiple accounts, the boxes will follow up in sequence.

If you do not want to approve access, it is possible to disable Google
Contacts API connection in the account options. That's the way to go to
disable it. That's why you can only do one-time cancellation in the
popup box.

And once you have approved, OAuth 2 has facilities to refresh tokens so
you should keep authorization.

There could be something like timer per account to not ask again if it failed
within the last e.g. 15min by cancelling the dialog. Or maybe easier: add a
button to the dialog that says "disable contact search for
example-account@gmail.com". By doing so the checkbox from the connection
properties would be cleared.

... okay so now I noticed that Ingo actually already answered the
question. Well, given there's some extra details in there. I'll just end
it for archival/historical purposes. :stuck_out_tongue:

Sorry :slight_smile:

Danny

Ingo


#17

1 Box per character per account. However, it will show only 1 box at a
time. So in case of multiple accounts, the boxes will follow up in sequence.

If you do not want to approve access, it is possible to disable Google
Contacts API connection in the account options. That's the way to go to
disable it. That's why you can only do one-time cancellation in the
popup box.

And once you have approved, OAuth 2 has facilities to refresh tokens so
you should keep authorization.

There could be something like timer per account to not ask again if it failed
within the last e.g. 15min by cancelling the dialog. Or maybe easier: add a
button to the dialog that says "disable contact search for
example-account@gmail.com". By doing so the checkbox from the connection
properties would be cleared.

Hmm.. that should be rather easy. Assuming that Jitsi doesn't "cache"
the original settings for active accounts.
I'll have a look at that.

Danny

···

On 27-07-15 22:42, Ingo Bauersachs wrote:

... okay so now I noticed that Ingo actually already answered the
question. Well, given there's some extra details in there. I'll just end
it for archival/historical purposes. :stuck_out_tongue:

Sorry :slight_smile:

Danny

Ingo

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev


#18

Hmm.. that should be rather easy. Assuming that Jitsi doesn't "cache"
the original settings for active accounts.
I'll have a look at that.

It AFAIK does cache it. You'd need to go through the account reg manager. But
you probably know that interface better from the IRC wizard. It's been quite
some time since I fiddled in there...

Danny

Ingo