I think the use case document should focus on v2, not on MAC. At some point, it 
becomes impractical to keep every use case discussed on this list recorded.

EHL

> -----Original Message-----
> From: oauth-boun...@ietf.org [mailto:oauth-boun...@ietf.org] On Behalf
> Of Igor Faynberg
> Sent: Tuesday, May 31, 2011 3:50 PM
> To: Phil Hunt
> Cc: OAuth WG
> Subject: Re: [OAUTH-WG] Fwd: issues with token age element - MAC token
>
> ...Sorry to turn the question around so as to underline my pet peeve:
> Have we *documented* all cases?  (This is what the Use Cases document is
> supposed to be all about.)
>
> Just to clarify: I am not arguing with Phil's point now. I just stress that 
> as of
> this moment we don't have anything to check against.
>
> Igor
>
> Phil Hunt wrote:
> > There seems to be a demonstrated need for both age and timestamp
> tokens.
> >
> > The list has 2 separate cases with 2 separate proposals that do not solve 
> > all
> cases.
> >
> > Can we at least agree that neither proposal works in all cases?
> >
> > Phil
> >
> > @independentid
> > www.independentid.com
> > phil.h...@oracle.com
> >
> >
> >
> >
> >
> > On 2011-05-31, at 2:41 PM, Adam Barth wrote:
> >
> >
> >> You haven't described a problem.
> >>
> >> On Tue, May 31, 2011 at 1:46 AM, Skylar Woodward <sky...@kiva.org>
> wrote:
> >>
> >>> First we should agree on a common understanding of the spec. The
> reason why age works with unsynchronized clocks is that the client
> determines issue_date based on the time when it receives the token over
> the wire. This depends on the server and client both recording time this way
> and for the transmission of the token to be be not longer than the margin of
> error for validating age. Are we agreed on this understanding?
> >>>
> >> That's not correct.
> >>
> >> The age allows the server to protect against replay attacks in
> >> bounded memory.  With unbounded memory, the server can just
> remember
> >> every nonce it has ever seen associated with a given key and reject
> replays.
> >> With bounded memory, the server eventually needs to evict some of
> >> these nonces due to memory pressure.  The age value lets the server
> >> reject the nonces with the smallest age values first.  The server
> >> then rejects any messages with age values smaller than (or equal to)
> >> the largest age value it has ever evicted for the given key.
> >>
> >> Notice that neither clock synchronization nor transmission time plays
> >> a role in that implementation.
> >>
> >>
> >>> The easiest case for me to explain here is client credentials because I
> have to assume you've built and registered a Twitter app at some point (or
> similar OAuth 1.0a app). You registered your app on the site and were issued
> a client_id and client_secret (called consumer_key and consumer_secret in
> 1.0). You then embedded these values in your client (they were not issued
> programmatically to your app). Assuming the MAC token algorithm is used
> then for establishing client identity (originally one of the uses we, the
> working group, hoped MAC would cover) how then will your client
> determine issue date?
> >>>
> >> I recommend the date at which the developer obtained the credential
> >> from Twitter because that is the date when the credential was issued.
> >>
> >>
> >>> After we can establish where you're at on the two above points I'll
> continue with the explanation. But as a preview, the next points would be:
> >>>
> >>> - If issue_date comes form the server, how is it translated to the client?
> >>>
> >> The issue_date does not come from the server.
> >>
> >>
> >>> - If you use a server provided issue_date, how do you then translate
> that a value relative to the local unsyncronized clock?
> >>>
> >> The server does not provide the issue_date.
> >>
> >>
> >>> - If your answer to that is to also provide the current server time to the
> client so the offset on the server provided issue_date can be calculated what
> is the difference between all of these values and just using timestamp?
> >>>
> >> My answer is not to provide the current server time to the client.
> >>
> >> Kind regards,
> >> Adam
> >>
> >>
> >>
> >>> So don't get wrapped up in those 3 questions until we establish your
> contextual understanding of the first two paragraphs. Feel free to also
> respond to me off the list so we don't trouble everyone else with us getting
> on the same page (the reason, I thought, why a Skype call would be more
> efficient and painless). I do think my explanations all have been very clear
> thus far. There must be a contextual confusion that is keeping us from a
> common understanding of the terminology or the use cases.
> >>>
> >>> skylar
> >>>
> >>>
> >>> On May 31, 2011, at 10:30 AM, Adam Barth wrote:
> >>>
> >>>
> >>>> I'm not sure we need a Skype call.  Can you explain the trouble
> >>>> caused by age clearly?  I didn't understand your previous
> >>>> explanation.  The more concrete you can be, the better.
> >>>>
> >>>> Thanks,
> >>>> Adam
> >>>>
> >>>>
> >>>> On Tue, May 31, 2011 at 1:04 AM, Skylar Woodward <sky...@kiva.org>
> wrote:
> >>>>
> >>>>> It seems we're failing to communicate. Or you're not understanding
> my use cases. Age doesn't "just" work. It only works for a limited number of
> uses cases that must include all of yours - and it is brittle at that. It 
> doesn't
> work for any of our uses cases (where the client can't know issue_date w/o
> the server telling it - in which case we have the equivalent problem as
> timestamp).
> >>>>>
> >>>>> If you'd like to talk this out over Skype I'm happy to do that, so I can
> help you understand why age doesn't work.
> >>>>>
> >>>>>
> >>>>>
> >>>>> On May 31, 2011, at 9:47 AM, Adam Barth wrote:
> >>>>>
> >>>>>
> >>>>>> Timestamps don't work when the client doesn't have a synchronized
> >>>>>> clock.  It's true that a client could synchronize its clock with
> >>>>>> the network, but our implementation experience is that many
> >>>>>> clients don't for a variety of reasons.  That means that age
> >>>>>> better because, you know, it works.
> >>>>>>
> >>>>>> Adam
> >>>>>>
> >>>>>>
> >>>>>> On Mon, May 30, 2011 at 11:19 PM, Skylar Woodward
> <sky...@kiva.org> wrote:
> >>>>>>
> >>>>>>> I don't think you read my first message on the topic (or I wrote too
> much).
> >>>>>>>
> >>>>>>> Age is fragile because if the clock changes between issue_date and
> the time of submission, it will fail. We know many people don't have
> synchronized clocks, but using age only solves this problem if two
> assumptions hold true:
> >>>>>>>
> >>>>>>> 1) the client is able to guess the issue_date the server is
> >>>>>>> using based on the time the credential was issued
> >>>>>>> 2) the client system clock doesn't change between issue date and
> submission time.
> >>>>>>>
> >>>>>>> Timestamp has neither of these issues because the client can
> always inquire about network time and can effectively correct for
> inaccuracies in the device timekeeping system.
> >>>>>>>
> >>>>>>> Regarding the first assumption, this fails when a token might be re-
> issued between devices. An example is that we use MAC token for the client
> credentials, which are issued when a developer registers an application. The
> client has no way of determining on its own when the value was actually
> issued (unless we communicate that on the developer website and force
> users to embed that with client_id, which adds usability issues of users
> copying and entering string date values correctly). The same is actually true
> for all of our OAuth access tokens because we reissue tokens to the same
> client_id if they were previously issued and are still valid. (The client 
> would
> thus think the issue_date was now() when if fact it was the time of the first
> issue for client_id+scope+grantor_id). Thus, age is really just a convoluted
> way of trying to communicate the device system offset:
> >>>>>>>
> >>>>>>>        local_offset = current_server_time - current_device_time
> >>>>>>>        age = current_device_time -
> >>>>>>> (server_issue_date-local_offset)
> >>>>>>>
> >>>>>>> Since the protocol doesn't currently allow for server_issue_date to
> be given with tokens, thus age currently can't have the resilience that
> timestamp does. It also forces servers to issue new tokens on demand just
> to make the convoluted age system work (rather than reuse existing valid
> tokens). Or, you have to modify the protocol to add server_issue_date and
> current_server_time into the token-issue exchange - eg, more complexity.
> >>>>>>>
> >>>>>>> Timestamp is simpler, proven, it and it has a solution for your use
> case of unsyncronized clocks.
> >>>>>>>
> >>>>>>> skylar
> >>>>>>>
> >>>>>>>
> >>>>>>> On May 30, 2011, at 9:08 AM, Adam Barth wrote:
> >>>>>>>
> >>>>>>>
> >>>>>>>> I can't speak for Mozilla, but I can tell you that many folks
> >>>>>>>> don't have synchronized clocks, for a wide variety of reasons.
> >>>>>>>> I guess I don't really understand why you view age as
> >>>>>>>> problematic.  You reference "fragility of using
> >>>>>>>> time-since-credentials-issued" but you don't say what exactly
> >>>>>>>> is fragile about it.  There's nothing particularly complex
> >>>>>>>> about age, especially when using the monotonic clock provided by
> all modern operating systems.
> >>>>>>>>
> >>>>>>>> Adam
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> On Mon, May 30, 2011 at 12:03 AM, Skylar Woodward
> <sky...@kiva.org> wrote:
> >>>>>>>>
> >>>>>>>>> But see, now you are specializing the use of MAC token even
> more - now it's becoming a service mainly for user-agents on home
> desktops? This is further for the original goal of making MAC as flexible is
> possible. In this case you should change the spec name to
> MAC_TOKEN_FOR_BROWSER_COOKIE_REPLACEMENT_IN_AGENTS_LIKE_FI
> REFOX - or MTBCRLF for short.
> >>>>>>>>>
> >>>>>>>>> Sarcasm aside, my point is that timestamp is just as good as your
> offset technique and is more: reliable, straightforward, flexible.
> >>>>>>>>>
> >>>>>>>>> User agents that care about creating robust behavior for home
> desktops or mobiles (presumably of users and OS not yet sophisticated
> enough to check network time on their own) should be advised to do clock
> correction on their own (by pinging a time service) and trusting the device
> clock alone.
> >>>>>>>>>
> >>>>>>>>> Please change the spec back to using timestamp rather than age.
> >>>>>>>>>
> >>>>>>>>> I'd also like to hear a convincing argument from the Mozilla co-
> authors about why they think that age is more resilient than the above (I
> believe it is not) and further more why they would find the above
> unattractive or difficult to implement in a modern user-agent.
> >>>>>>>>>
> >>>>>>>>> Thanks,
> >>>>>>>>> skylar
> >>>>>>>>>
> >>>>>>>>> ... -.- -.-- .-.. .- .-. - .-- --- --- -.. .-- .- .-. -.. - ... -.- 
> >>>>>>>>> -.-- .-.. .- .-. - .-
> - --- --- -.. .-- .- .-. -..
> >>>>>>>>> skylar woodward
> >>>>>>>>> Kiva Developer Program  /  build.kiva.org  /  @buildkiva
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> On May 30, 2011, at 7:54 AM, Eran Hammer-Lahav wrote:
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>> Any kind of clock sync requirement for user-agents (basically,
> home desktops) it completely impractical. The added complexity pales in
> comparison to the difficulty of trying to use timestamps and any kind of clock
> sync. No window will be big enough as experience shows some users have
> closes that are off by more than an hour and a half.
> >>>>>>>>>>
> >>>>>>>>>> The issue here is who is this being optimized for. Server-to-
> server communication should simply use TLS for privacy and MITM protection
> on top of MAC instead of using nonces to prevent replay. The whole point of
> this kind of replay protection is when TLS is not available.
> >>>>>>>>>>
> >>>>>>>>>> I think a better approach is to simply make checking the nonce
> optional when TLS is used.
> >>>>>>>>>>
> >>>>>>>>>> EHL
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>> -----Original Message-----
> >>>>>>>>>>> From: oauth-boun...@ietf.org [mailto:oauth-
> boun...@ietf.org]
> >>>>>>>>>>> On Behalf Of Peter Wolanin
> >>>>>>>>>>> Sent: Sunday, May 29, 2011 6:53 PM
> >>>>>>>>>>> To: Skylar Woodward
> >>>>>>>>>>> Cc: OAuth WG
> >>>>>>>>>>> Subject: Re: [OAUTH-WG] Fwd: issues with token age
> element -
> >>>>>>>>>>> MAC token
> >>>>>>>>>>>
> >>>>>>>>>>> I am also concerned by the fragility of using
> >>>>>>>>>>> time-since-credentials-issued, and also the added complexity
> of specifying this construction.
> >>>>>>>>>>>
> >>>>>>>>>>> I think it would be preferable to always require a timestamp
> >>>>>>>>>>> as part of the authorization header, and maybe even include
> >>>>>>>>>>> in the spec a maximum time difference between client and
> >>>>>>>>>>> server (e.g. 900 seconds) that can be tolerated.  This makes
> >>>>>>>>>>> generating the nonce easier also, since the value need to
> longer be unique over all time.
> >>>>>>>>>>>
> >>>>>>>>>>> We have such rules in place for an HMAC-based
> authentication
> >>>>>>>>>>> system we use.  Once in a while a client has a local clock
> >>>>>>>>>>> so far out of sync that there is an issue, but it's rare.
> >>>>>>>>>>>
> >>>>>>>>>>> -Peter
> >>>>>>>>>>>
> >>>>>>>>>>> On Mon, May 23, 2011 at 9:16 PM, Skylar Woodward
> >>>>>>>>>>> <sky...@kiva.org>
> >>>>>>>>>>> wrote:
> >>>>>>>>>>>
> >>>>>>>>>>>> Resending to the list from my subscribed account...
> >>>>>>>>>>>>
> >>>>>>>>>>>> Begin forwarded message:
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>> From: Skylar Woodward <sky...@larw.com>
> >>>>>>>>>>>>> Date: May 23, 2011 6:14:00 PM PDT
> >>>>>>>>>>>>> To: Skylar Woodward <sky...@kiva.org>
> >>>>>>>>>>>>> Cc: Eran Hammer-Lahav <e...@hueniverse.com>, OAuth
> WG
> >>>>>>>>>>>>> <oauth@ietf.org>
> >>>>>>>>>>>>> Subject: Re: [OAUTH-WG] issues with token age element -
> >>>>>>>>>>>>> MAC token
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> So after discussing this today and reflecting on it a bit,
> >>>>>>>>>>>>> I would suggest that
> >>>>>>>>>>>>>
> >>>>>>>>>>> nonce simply be the "unique value" (as it is so named)
> >>>>>>>>>>> without further requirements. It might be suggested that
> >>>>>>>>>>> this be composed of an
> >>>>>>>>>>> random+timestamp (not age) value, but that seems more of a
> >>>>>>>>>>> random+MAY or
> >>>>>>>>>>> "recommended" practice. If the expectation is that very few
> >>>>>>>>>>> if any providers would actually check the timestamp (or
> >>>>>>>>>>> moreover, the nonce itself), why add terminology in the
> >>>>>>>>>>> draft that requires it? Developers are doing extra
> >>>>>>>>>>> housekeeping (and perhaps for a perceived benefit) but with
> no payoff or added security.
> >>>>>>>>>>>
> >>>>>>>>>>>>> I'm sending this feedback based on having implemented
> the
> >>>>>>>>>>>>> v3-5 changes
> >>>>>>>>>>>>>
> >>>>>>>>>>> last night (for both client credentials and requests w/
> >>>>>>>>>>> access tokens). After the changes, the nonce creation is now
> >>>>>>>>>>> the most complicated part of the normalized request string
> and yet these changes offer the least benefit.
> >>>>>>>>>>> What's most important is that nonces are unique on each
> request for an ID.
> >>>>>>>>>>>
> >>>>>>>>>>>>> There are issues with age as well:
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> - As Bill mentioned, if the client stores the issue time
> >>>>>>>>>>>>> based on receipt, then the internal clock changes
> >>>>>>>>>>>>> (presumably w/o knowledge of the software storing the
> >>>>>>>>>>>>> dates) then time will also fail. Assuming that a user with
> >>>>>>>>>>>>> a bad clock (of by hours or more) will never fix it and
> >>>>>>>>>>>>> actually encourages bad user behavior (don't fix your
> >>>>>>>>>>>>> clock or Twitterbot will stop working!). Though we say
> >>>>>>>>>>>>> that timezones won't bring about the situation of changed
> >>>>>>>>>>>>> clock, I'd be to differ. Many users aren't savvy enough to
> >>>>>>>>>>>>> change time zone, but just adjust the time to local time
> >>>>>>>>>>>>> anyway. Users who are more likely to get it right already
> >>>>>>>>>>>>> have auto clock sync enabled (via web, mobile, etc.)
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> - What if the token wasn't originally issued
> >>>>>>>>>>>>> programmatically? In this case,
> >>>>>>>>>>>>>
> >>>>>>>>>>> the issue time has to be obtained from the server and stored
> >>>>>>>>>>> on the client then you have the same problem as with a
> >>>>>>>>>>> timestamp - the client clock is not sync'd to the server
> >>>>>>>>>>> clock and there is no adjustment. You want this to apply to
> >>>>>>>>>>> uses outside of just OAuth, but now requiring the client to
> >>>>>>>>>>> be able to determine an issue time based on when it receives
> an HTTP request necessarily limits the types of token flows for which this can
> be used.
> >>>>>>>>>>>
> >>>>>>>>>>>>> - It's one more detail to store. Hardly an issue for a
> >>>>>>>>>>>>> developer, but it is
> >>>>>>>>>>>>>
> >>>>>>>>>>> inelegant. It's like having a double ID. Yet it's not an ID,
> >>>>>>>>>>> it is actually more of a recording of "my personal clock
> >>>>>>>>>>> offset value" but obfuscated several times over (one for each
> token) as issue_date.
> >>>>>>>>>>>
> >>>>>>>>>>>>> - This implementation assumes software programs use the
> >>>>>>>>>>>>> computer
> >>>>>>>>>>>>>
> >>>>>>>>>>> internal clock exclusively for timestamp. A robust program
> >>>>>>>>>>> that is dependent on accurate timestamps would ping the
> >>>>>>>>>>> origin server (or similar trusted time
> >>>>>>>>>>> authority) to ask it the current time. Then it could store a
> >>>>>>>>>>> "my device clock offset" value for the lifetime of the
> >>>>>>>>>>> program execution. All requests needing timestamp would be
> >>>>>>>>>>> adjusted accordingly. For age, if the clock is changed since the
> stored issue_date, the problem can't be corrected in this manner.
> >>>>>>>>>>> Thus, a significant advantage for timestamp.
> >>>>>>>>>>>
> >>>>>>>>>>>>> All in all, this seems like a misguided but
> >>>>>>>>>>>>> well-intentioned attempt to get
> >>>>>>>>>>>>>
> >>>>>>>>>>> around end-user issues of mis-set clocks. It feels like a
> >>>>>>>>>>> hack and it certainly isn't a foolproof solution. The more I
> >>>>>>>>>>> think about the implications of the age parameter, the less
> >>>>>>>>>>> I like it. Timestamp has been used for many years in the
> >>>>>>>>>>> industry and with reasonable success in relevant
> >>>>>>>>>>> applications. If we change to a new way of trying to sync on
> time I think we run a greater risk of stumbling upon unforeseen issues, such
> as those outlined above.
> >>>>>>>>>>>
> >>>>>>>>>>>>> I recommend the requirement of an age (or timestamp for
> >>>>>>>>>>>>> that matter)
> >>>>>>>>>>>>>
> >>>>>>>>>>> be dropped from the nonce construction. For providers that
> >>>>>>>>>>> deem it valuable, timestamp can be an optional value (either
> >>>>>>>>>>> as part of the nonce or the overall header, as before).
> >>>>>>>>>>>
> >>>>>>>>>>>>> skylar
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> On May 23, 2011, at 2:11 AM, Skylar Woodward wrote:
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>> You may have noticed, on page 8 the host is listed as
> "example.net"
> >>>>>>>>>>>>>> - should be example.com, I believe.  (draft v5)
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> All in all, I'm in support of the changes in v2.
> >>>>>>>>>>>>>> Certainly addresses my
> >>>>>>>>>>>>>>
> >>>>>>>>>>> hesitations from v2.
> >>>>>>>>>>>
> >>>>>>>>>>>>>> skylar
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> On May 9, 2011, at 12:36 PM, Eran Hammer-Lahav wrote:
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> (Please discuss this draft on the Apps-Discuss
> >>>>>>>>>>>>>>> <apps-disc...@ietf.org> mailing list)
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> http://tools.ietf.org/html/draft-hammer-oauth-v2-mac-
> tok
> >>>>>>>>>>>>>>> en
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> While this document has moved to the Apps-Discuss
> >>>>>>>>>>>>>>> mailing list for the
> >>>>>>>>>>>>>>>
> >>>>>>>>>>> time being, I wanted to give a quick update to those who
> >>>>>>>>>>> have been following this draft which originated on this list.
> >>>>>>>>>>>
> >>>>>>>>>>>>>>> The major changes since -02 are:
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> * Removed OAuth terminology and association. The
> draft
> >>>>>>>>>>>>>>> is now a
> >>>>>>>>>>>>>>>
> >>>>>>>>>>> general purpose HTTP authentication scheme. It does include
> >>>>>>>>>>> an OAuth 2.0 binding which is described in less than a page.
> >>>>>>>>>>> One suggestion would be to move section 5.1 into the OAuth
> >>>>>>>>>>> specification and drop all the OAuth 2.0 text from the MAC
> draft.
> >>>>>>>>>>>
> >>>>>>>>>>>>>>> * Added 'Set-Cookie' extension for using MAC with
> session cookies.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> * Removed request URI query normalization. The new
> draft
> >>>>>>>>>>>>>>> uses the
> >>>>>>>>>>>>>>>
> >>>>>>>>>>> raw request URI unchanged.
> >>>>>>>>>>>
> >>>>>>>>>>>>>>> * Replaced timestamps with credentials age to remove
> the
> >>>>>>>>>>>>>>> need for
> >>>>>>>>>>>>>>>
> >>>>>>>>>>> clock sync.
> >>>>>>>>>>>
> >>>>>>>>>>>>>>> * Added a placeholder for extension, allowing random
> >>>>>>>>>>>>>>> text to be
> >>>>>>>>>>>>>>>
> >>>>>>>>>>> included in the request and MAC.
> >>>>>>>>>>>
> >>>>>>>>>>>>>>> * Added issuer attribute for identifying the source of
> >>>>>>>>>>>>>>> the credentials as
> >>>>>>>>>>>>>>>
> >>>>>>>>>>> an additional protection.
> >>>>>>>>>>>
> >>>>>>>>>>>>>>> Draft -04 is not compatible with previous drafts.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> EHL
> >>>>>>>>>>>>>>>
> _______________________________________________
> >>>>>>>>>>>>>>> OAuth mailing list
> >>>>>>>>>>>>>>> OAuth@ietf.org
> >>>>>>>>>>>>>>> https://www.ietf.org/mailman/listinfo/oauth
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>
> _______________________________________________
> >>>>>>>>>>>> OAuth mailing list
> >>>>>>>>>>>> OAuth@ietf.org
> >>>>>>>>>>>> https://www.ietf.org/mailman/listinfo/oauth
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>> --
> >>>>>>>>>>> Peter M. Wolanin, Ph.D.      : Momentum Specialist,  Acquia.
> Inc.
> >>>>>>>>>>> peter.wola...@acquia.com : 978-296-5247
> >>>>>>>>>>>
> >>>>>>>>>>> "Get a free, hosted Drupal 7 site:
> http://www.drupalgardens.com";
> >>>>>>>>>>> _______________________________________________
> >>>>>>>>>>> OAuth mailing list
> >>>>>>>>>>> OAuth@ietf.org
> >>>>>>>>>>> https://www.ietf.org/mailman/listinfo/oauth
> >>>>>>>>>>>
> >>>>>>>>> _______________________________________________
> >>>>>>>>> OAuth mailing list
> >>>>>>>>> OAuth@ietf.org
> >>>>>>>>> https://www.ietf.org/mailman/listinfo/oauth
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>
> >>>>>
> >>>
> >> _______________________________________________
> >> OAuth mailing list
> >> OAuth@ietf.org
> >> https://www.ietf.org/mailman/listinfo/oauth
> >>
> >
> > _______________________________________________
> > OAuth mailing list
> > OAuth@ietf.org
> > https://www.ietf.org/mailman/listinfo/oauth
> >
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to