Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Introducing OAuth 2
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  Messages 1 - 25 of 35 - Collapse all  -  Translate all to Translated (View all originals)   Newer >
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Jeremy Kemper  
View profile  
 More options May 19 2010, 3:31 pm
From: Jeremy Kemper <jer...@37signals.com>
Date: Wed, 19 May 2010 12:31:25 -0700
Local: Wed, May 19 2010 3:31 pm
Subject: [37signals API] Introducing OAuth 2

OAuth 2 is a standard way for third-party apps to get authorized access to a user's account without needing to copy/paste API keys or ask users for sensitive usernames and passwords.

We've added OAuth 2 directly to 37signals ID, so your apps can authorize a 37signals ID once then access any of its accounts on any product.

The typical flow for a web app:
  1. Your app requests authorization by redirecting your user to Launchpad:
      https://launchpad.37signals.com/authorization/new?type=web_server&cli...
  2. We authenticate their 37signals ID and ask whether it's ok to give access to your app.
      Example of what this screen looks like: https://launchpad.37signals.com/authorization/new?type=web_server&cli...
  3. We redirect the user back to your app with a time-limited verification code.
  4. Your app makes a backchannel request to redeem the verification code for an access token: POST https://launchpad.37signals.com/authorization/token
  5. We authenticate your app and issue an access token.
  6. Your app uses the token to authorize API requests to any of the 37signals ID's accounts.

To get info about the 37signals ID you authorized and the accounts you have access to, make an authorized request to https://launchpad.37signals.com/authorization.json (or /authorization.xml).

OAuth 2 implementation notes:
  * Start by reading the draft spec at http://tools.ietf.org/html/draft-ietf-oauth-v2 and trying the client libraries at http://wiki.oauth.net/OAuth-2
  * We implement draft 5 and will update our implementation as the final spec converges, so be prepared for changes along the way.
  * We support the web_server and user_agent flows, not the client_credentials or device flows.
  * We issue refresh tokens. Use them to request a new access token when yours expires (2 week lifetime, currently).
  * We return more verbose errors than what's given in the spec to help with client development. We'll move these to a separate parameter later.

Register your app at https://integrate.37signals.com to get started!

--
Jeremy Kemper
37signals

  smime.p7s
4K Download

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
J Lane  
View profile  
 More options May 19 2010, 7:27 pm
From: J Lane <jonathan.l...@gmail.com>
Date: Wed, 19 May 2010 16:27:37 -0700 (PDT)
Local: Wed, May 19 2010 7:27 pm
Subject: [37signals API] Re: Introducing OAuth 2
  * We issue refresh tokens. Use them to request a new access token
when yours expires (2 week lifetime, currently).

So once you're authenticated, the token will expire after 2 weeks, and
the application will have to be re-authenticated?  That could be a
problem for some applications where you set up a "connection" and
expect that connection to persist (say a web form -> Basecamp
application).

Unless I'm misunderstanding....

On May 19, 12:31 pm, Jeremy Kemper <jer...@37signals.com> wrote:

--
You received this message because you are subscribed to the Google Groups "37signals-api" group.
To post to this group, send email to 37signals-api@googlegroups.com.
To unsubscribe from this group, send email to 37signals-api+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/37signals-api?hl=en.

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jeremy Kemper  
View profile  
 More options May 19 2010, 7:53 pm
From: Jeremy Kemper <jer...@37signals.com>
Date: Wed, 19 May 2010 16:53:20 -0700
Local: Wed, May 19 2010 7:53 pm
Subject: Re: [37signals API] Re: Introducing OAuth 2

On May 19, 2010, at 4:27 PM, J Lane wrote:

>  * We issue refresh tokens. Use them to request a new access token
> when yours expires (2 week lifetime, currently).

> So once you're authenticated, the token will expire after 2 weeks, and
> the application will have to be re-authenticated?  That could be a
> problem for some applications where you set up a "connection" and
> expect that connection to persist (say a web form -> Basecamp
> application).

> Unless I'm misunderstanding....

When your access token expires you use the refresh token to get a new one without user intervention.

See the spec, section 4: http://tools.ietf.org/html/draft-ietf-oauth-v2-05#section-4

--
You received this message because you are subscribed to the Google Groups "37signals-api" group.
To post to this group, send email to 37signals-api@googlegroups.com.
To unsubscribe from this group, send email to 37signals-api+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/37signals-api?hl=en.

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
J Lane  
View profile  
 More options May 19 2010, 9:41 pm
From: J Lane <jonathan.l...@gmail.com>
Date: Wed, 19 May 2010 18:41:25 -0700 (PDT)
Local: Wed, May 19 2010 9:41 pm
Subject: [37signals API] Re: Introducing OAuth 2
It's okay Jeremy, in the future you can just reply with "no Jon,
you're a tool.  RTFM."  I won't be offended :-)

Jon

On May 19, 4:53 pm, Jeremy Kemper <jer...@37signals.com> wrote:

--
You received this message because you are subscribed to the Google Groups "37signals-api" group.
To post to this group, send email to 37signals-api@googlegroups.com.
To unsubscribe from this group, send email to 37signals-api+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/37signals-api?hl=en.

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Ivan Stegic  
View profile  
 More options May 20 2010, 2:28 pm
From: Ivan Stegic <ivan.ste...@gmail.com>
Date: Thu, 20 May 2010 11:28:57 -0700 (PDT)
Local: Thurs, May 20 2010 2:28 pm
Subject: [37signals API] Re: Introducing OAuth 2
At last!

On May 19, 12:31 pm, Jeremy Kemper <jer...@37signals.com> wrote:

--
You received this message because you are subscribed to the Google Groups "37signals-api" group.
To post to this group, send email to 37signals-api@googlegroups.com.
To unsubscribe from this group, send email to 37signals-api+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/37signals-api?hl=en.

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Med  
View profile  
 More options Sep 9 2011, 7:42 am
From: Med <hadr...@gmail.com>
Date: Fri, 9 Sep 2011 04:42:46 -0700 (PDT)
Local: Fri, Sep 9 2011 7:42 am
Subject: Re: [37signals API] Introducing OAuth 2

My question concerns the step #3 (We redirect the user back to your app with
a time-limited verification code.).
How can we (in the third-party side) check that verification code has been
generated for the client f...@bar.com.

here is a scenario:
- two clients A...@domainA.com and B...@domainB.com try to authorize the same
third-party application at the same time.
- these clients get redirected to the same callback url (let's say
https://server.com/_callback?code=X) where X is different for A and B.
- in this case how could the callback server distinguish between the two
verification code ? I mean how to be sure that a verification code belongs
to a client A or B ?


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Raimonds Simanovskis  
View profile  
 More options Sep 9 2011, 11:47 am
From: Raimonds Simanovskis <raimonds.simanovs...@gmail.com>
Date: Fri, 9 Sep 2011 08:47:37 -0700 (PDT)
Local: Fri, Sep 9 2011 11:47 am
Subject: Re: [37signals API] Introducing OAuth 2

Before redirecting user to 37signals authorization page I store in user
session (in Ruby on Rails application) all necessary information that I need
(e.g. is it client A or client B), when user will be redirected back, and
when user is redirected back and I get their session (as their browser
provide me session cookie with session ID) and I know which client it is.

Raimonds


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Tom Rossi  
View profile  
 More options Mar 8 2012, 3:37 pm
From: Tom Rossi <t...@themolehill.com>
Date: Thu, 8 Mar 2012 12:37:19 -0800 (PST)
Local: Thurs, Mar 8 2012 3:37 pm
Subject: Re: [37signals API] Introducing OAuth 2

Jeremy,

Can the redirect_uri be different based on our user account information?
 For example, our customers each have their own custom domains so
redirecting them back to a generic url will lose their session information.

Thanks,
Tom


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Mariam Ayyash  
View profile  
 More options Apr 10 2012, 12:07 am
From: Mariam Ayyash <ayy...@gmail.com>
Date: Mon, 9 Apr 2012 21:07:08 -0700 (PDT)
Local: Tues, Apr 10 2012 12:07 am
Subject: Re: [37signals API] Introducing OAuth 2

Do u have plans to halt the current API Token authentication and switch to
OAuth2 for good?


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jeremy Kemper  
View profile  
 More options Apr 10 2012, 10:19 am
From: Jeremy Kemper <jer...@37signals.com>
Date: Tue, 10 Apr 2012 07:19:14 -0700
Local: Tues, Apr 10 2012 10:19 am
Subject: Re: [37signals API] Introducing OAuth 2

On Mon, Apr 9, 2012 at 9:07 PM, Mariam Ayyash <ayy...@gmail.com> wrote:
> Do u have plans to halt the current API Token authentication and switch to
> OAuth2 for good?

We've switched to OAuth 2 exclusively with the new Basecamp API.

Basecamp Classic, Highrise, Backpack, and Campfire will continue to
support API token authentication.

--
Jeremy Kemper
37signals


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Alexey Panteleev  
View profile  
 More options Apr 18 2012, 11:40 pm
From: Alexey Panteleev <ale...@yoxel.com>
Date: Wed, 18 Apr 2012 20:40:12 -0700 (PDT)
Local: Wed, Apr 18 2012 11:40 pm
Subject: Re: [37signals API] Introducing OAuth 2

Is switching to the new API a prerequisite for being listed on the new
extras page?


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jeremy Kemper  
View profile  
 More options Apr 19 2012, 11:05 am
From: Jeremy Kemper <jer...@37signals.com>
Date: Thu, 19 Apr 2012 08:05:37 -0700
Local: Thurs, Apr 19 2012 11:05 am
Subject: Re: [37signals API] Introducing OAuth 2

On Wed, Apr 18, 2012 at 8:40 PM, Alexey Panteleev <ale...@yoxel.com> wrote:
> Is switching to the new API a prerequisite for being listed on the new
> extras page?

Yes. The new Basecamp is an all-new product with its own API, so it
has its own Extras.

Basecamp Classic integrations are on our main Extras page at
http://37signals.com/extras#basecamp

--
Jeremy Kemper
37signals


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Ashwin Purohit  
View profile  
 More options Apr 23 2012, 7:24 pm
From: Ashwin Purohit <puro...@gmail.com>
Date: Mon, 23 Apr 2012 16:24:40 -0700 (PDT)
Local: Mon, Apr 23 2012 7:24 pm
Subject: Re: [37signals API] Introducing OAuth 2

Jeremy,

Thanks for this discussion. OAuth2 in-the-wild implementation details are a
scarcity.

How do you authenticate your clients? If instead you consider your clients
public, how do you identify them (or do you just tell the user they'll be
redirected to so-and-so URL, leaving the client identification to the user)?

-Ashwin

Am Donnerstag, 19. April 2012 08:05:37 UTC-7 schrieb Jeremy Kemper:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jeremy Kemper  
View profile  
 More options Apr 23 2012, 8:08 pm
From: Jeremy Kemper <jer...@37signals.com>
Date: Mon, 23 Apr 2012 17:08:04 -0700
Local: Mon, Apr 23 2012 8:08 pm
Subject: Re: [37signals API] Introducing OAuth 2

On Mon, Apr 23, 2012 at 4:24 PM, Ashwin Purohit <puro...@gmail.com> wrote:
> How do you authenticate your clients? If instead you consider your clients
> public, how do you identify them (or do you just tell the user they'll be
> redirected to so-and-so URL, leaving the client identification to the user)?

Clients register (to get a client_id and client_secret) and must
authenticate to request access tokens. Since authorization is
initiated from the client and redirects back to them, customers
already know the client app.

What do you mean by considering clients public?

--
Jeremy Kemper
37signals


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Mariam Ayyash  
View profile  
 More options Apr 27 2012, 8:54 am
From: Mariam Ayyash <ayy...@gmail.com>
Date: Fri, 27 Apr 2012 05:54:30 -0700 (PDT)
Local: Fri, Apr 27 2012 8:54 am
Subject: Re: [37signals API] Introducing OAuth 2

on more question, can I use oAuth2 with highrise? are all users under all
37signals applications have valid 37signals id?
thank you


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jeremy Kemper  
View profile  
 More options Apr 27 2012, 10:10 am
From: Jeremy Kemper <jer...@37signals.com>
Date: Fri, 27 Apr 2012 07:10:41 -0700
Local: Fri, Apr 27 2012 10:10 am
Subject: Re: [37signals API] Introducing OAuth 2

On Fri, Apr 27, 2012 at 5:54 AM, Mariam Ayyash <ayy...@gmail.com> wrote:
> on more question, can I use oAuth2 with highrise?

Absolutely. You can use OAuth 2 with Basecamp, Basecamp Classic,
Highrise, Backpack, and Campfire.

> are all users under all
> 37signals applications have valid 37signals id?

Effectively, yes.

We have a handful of users who still haven't created a 37signals ID
since we introduced it in December 2009. If they want to use your app,
though, they'll be prompted to create their ID when they try to sign
in. So you can rely on everyone having a 37signals ID in practice.

--
Jeremy Kemper
37signals


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Alexey Panteleev  
View profile  
 More options Apr 28 2012, 4:33 pm
From: Alexey Panteleev <ale...@yoxel.com>
Date: Sat, 28 Apr 2012 13:33:19 -0700
Local: Sat, Apr 28 2012 4:33 pm
Subject: Re: [37signals API] Introducing OAuth 2
Yep, just switched to OAuth2 for Highrise and BC Classic the other week,
works fine! Just don't understand why the tokens have to be so long,
sometimes >514bytes. Other services (i.e. Google, Evernote, Huddle, ... use
shorter strings)

 Now experimenting with the new API also. In the case when a person has
multiple BC accounts (multiple 37signals ids), is there a way to ensure that
he authorizes to the intended one? For example, for BC Classic before Oauth
we still ask to specify the server name http://<company>.basecamphq.com and
then after the Oauth we compare if the access was given to that exact
server. I don't see a way to do something like that for the new basecamp.
Any suggestions?

Thank you

On 4/27/12 7:10 AM, "Jeremy Kemper" <jer...@37signals.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jeremy Kemper  
View profile  
 More options Apr 29 2012, 2:13 pm
From: Jeremy Kemper <jer...@37signals.com>
Date: Sun, 29 Apr 2012 11:13:18 -0700
Local: Sun, Apr 29 2012 2:13 pm
Subject: Re: [37signals API] Introducing OAuth 2

On Sat, Apr 28, 2012 at 1:33 PM, Alexey Panteleev <ale...@yoxel.com> wrote:
> Yep, just switched to OAuth2 for Highrise and BC Classic the other week,
> works fine! Just don't understand why the tokens have to be so long,
> sometimes >514bytes. Other services (i.e. Google, Evernote, Huddle, ... use
> shorter strings)

It's an HMAC-signed token that contains the authorization info, so it
takes a fair bit of space.

Is it causing problems for your client?

>  Now experimenting with the new API also. In the case when a person has
> multiple BC accounts (multiple 37signals ids), is there a way to ensure that
> he authorizes to the intended one? For example, for BC Classic before Oauth
> we still ask to specify the server name http://<company>.basecamphq.com and
> then after the Oauth we compare if the access was given to that exact
> server. I don't see a way to do something like that for the new basecamp.
> Any suggestions?

The common pattern is to reverse this flow: rather than ask for
http://<company>.basecamphq.com up front, authorize first, then fetch
the list of authorized accounts and ask this user which account to
connect to.

After you've authorized access, you can GET
https://launchpad.37signals.com/authorization.json for a list of all
accessible accounts.

This is more convenient for users -- one less thing to copy/paste --
and makes it easy for your app to support integration with multiple
accounts.

--
Jeremy Kemper
37signals


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Alexey Panteleev  
View profile  
 More options Apr 30 2012, 4:00 pm
From: Alexey Panteleev <ale...@yoxel.com>
Date: Mon, 30 Apr 2012 13:00:40 -0700
Local: Mon, Apr 30 2012 4:00 pm
Subject: Re: [37signals API] Introducing OAuth 2
Can the same 37signals id have access to more than one different
BasecampClassic or BasecampNew accounts?

On 4/29/12 11:13 AM, "Jeremy Kemper" <jer...@37signals.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Tom Rossi  
View profile  
 More options Apr 30 2012, 4:03 pm
From: Tom Rossi <t...@themolehill.com>
Date: Mon, 30 Apr 2012 13:03:11 -0700 (PDT)
Local: Mon, Apr 30 2012 4:03 pm
Subject: Re: [37signals API] Introducing OAuth 2

Yep!  Just hit https://launchpad.37signals.com/authorization.json to see
what accounts the token has access to...


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Mariam Ayyash  
View profile  
 More options May 1 2012, 12:45 pm
From: Mariam Ayyash <ayy...@gmail.com>
Date: Tue, 1 May 2012 09:45:20 -0700 (PDT)
Local: Tues, May 1 2012 12:45 pm
Subject: Re: [37signals API] Introducing OAuth 2

fine tuning now, two things though: the authentication dialog that appears
to user does not always show the right products, when I chose Basecamp and
Highrise it only shows Highrise, when i selected other products it shows
the whole list of products... and so on... I just didnt understand the logic

second thing, when user clicks for a new authentication token, and my
application has already gained access before, it still prompts user to give
access again, instead of silently redirecting back to redirect_url... very
unexpected behavior, is it by design?


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Mariam Ayyash  
View profile  
 More options May 1 2012, 12:50 pm
From: Mariam Ayyash <ayy...@gmail.com>
Date: Tue, 1 May 2012 09:50:43 -0700 (PDT)
Local: Tues, May 1 2012 12:50 pm
Subject: Re: [37signals API] Introducing OAuth 2

And... i wish there was a way for user to logout and switch account from
the authorize page, is there?

fine tuning now, two things though: the authentication dialog that appears


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
radomir  
View profile  
 More options May 2 2012, 6:04 am
From: radomir <radomi...@gmail.com>
Date: Wed, 2 May 2012 03:04:39 -0700 (PDT)
Local: Wed, May 2 2012 6:04 am
Subject: Re: [37signals API] Introducing OAuth 2

+1 Mariam for allowing users to switch account

A year ago we asked for a small change to at least have current user
identity shown on the OAuth authorization page
(https://groups.google.com/d/topic/37signals-api/yBo8CV6ixb0/discussion).
Due to lack of this information, users with more than one Basecamp account
often give access to the wrong one. This results in confused users, broken
workflow and and various support issues.
Unfortunately, 37signals didn't give a priority to this.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Dmitry  
View profile  
 More options Jul 30 2012, 12:47 pm
From: Dmitry <dima.dyach...@gmail.com>
Date: Mon, 30 Jul 2012 09:47:26 -0700 (PDT)
Local: Mon, Jul 30 2012 12:47 pm
Subject: Re: [37signals API] Introducing OAuth 2

Hi, Jeremy.

What if my account expires, but token is still valid?
How can I refresh an access token without registering new application to
get new clientid and clientsecret?

среда, 19 мая 2010 г., 23:31:25 UTC+4 пользователь Jeremy Kemper написал:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Dimos Ph  
View profile  
 More options Jul 30 2012, 12:58 pm
From: Dimos Ph <dima.dyach...@gmail.com>
Date: Mon, 30 Jul 2012 20:58:17 +0400
Local: Mon, Jul 30 2012 12:58 pm
Subject: Re: [37signals API] Introducing OAuth 2

This is the message I get after test account is expired:

OAuth token is valid, but is not authorized to access this account.
Double-check which accounts this identity has access to: GET
https://launchpad.37signals.com/authorization.xml:
{"error":"OAuth token is valid, but is not authorized to access this
account. Double-check which accounts this identity has access to: GET
https://launchpad.37signals.com/authorization.xml"}

2012/7/30 Dmitry <dima.dyach...@gmail.com>


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Messages 1 - 25 of 35   Newer >
« Back to Discussions « Newer topic     Older topic »