Hi Taylor,

Thanks for your reply.

What I am currently considering is a connection to my server to
exchange
keys - which you mentioned. The xAuth part would be done from my
server,
the oAuth on the client.

I wrote it like this from the start - exchanging keys with my server -
because I didn't read the documentation entirely. I was under the
impression that only a normal secret key was needed to sign
client-requests, while the consumer secret was only used for logging
in
people. When I wanted to send my first tweet from my app, I noticed
that
it didn't work and after a few hours of debugging it seemed that I
needed both secret keys. Implemented that, and it worked.

Yet still it makes no sense. If a consumer key is needed for allowing
an
user to use your application and get a client key, why would you still
need the consumer key? For all other requests those 2 keys simply go
together, so why not make a normal client twice as long?

Sure - I can implement it the way the oAuth is used, but it seems
wrong.

Tom



On Jun 23, 5:18 pm, Taylor Singletary <taylorsinglet...@twitter.com>
wrote:
> Hi Tom,
>
> I'm happy you're fully considering the implications here. With desktop
> applications, it's a matter of "best effort" security with your consumer
> secret and access token secrets. We recommend making it difficult to obtain
> the keys from a packaged application, while acknowledging that a determined
> hacker would be able to obtain them. That's where monitoring and damage
> control comes in -- we give all app developers the ability to
> reset/regenerate their consumer key and secret at any time, which is an
> effective "kill switch" for the former secrets. As time goes on, we hope to
> provide more tools that will help application developers detect application
> abuse.
>
> xAuth adds further complication if the keys are compromised, but should any
> rogue exchange logins for access tokens, regenerating your consumer key and
> secret will again cut them off from using those access tokens without the
> most recent key combination.
>
> We do our best to monitor for abuse and proactively stub out issues when
> they arise. There are some alternatives you can explore that would still
> protect your Twitter credentials, such as using the API through a homebrew
> proxy that actually holds the keys, or using a home-brew OAuth scheme
> between your application and a server to retrieve the keys securely. I'm not
> actually recommending these avenues, but they are options.
>
> The potential damage should your key get hijacked won't really effect your
> user account (unless you provide your access tokens in the application --
> not a good idea), and the most damage likely to your application would be a
> temporary suspension and potential fallout from any actions taken by the
> hacker on behalf of your application (issuing Tweets/Spam/etc.)
>
> Taylor
>
> On Wed, Jun 23, 2010 at 2:12 AM, Tom van der Woerdt <allerleiga...@gmail.com
>
>
>
>
>
>
>
> > wrote:
> > Hi all,
>
> > I'm wondering why there's a "secret" key if you need to include it with
> > desktop applications... Of course, there's the client secret key which
> > needs to remain secret, but why is there a secret key for applications
> > if it doesn't remain secret?
>
> > Is it the combination of the 4 keys that always needs to remain private?
> > The consumer key, consumer secret, and client token are, of course, safe
> > to present to people (but still unwise, so I won't).
>
> > It simply doesn't feel right to be including "secret" keys in an
> > application - everyone could see them and they wouldn't be secret, would
> > they?
>
> > As far as I have seen so far, the only thing you can do with a consumer
> > secret key, is signing the requests and requesting tokens (or, in my
> > case, use xAuth). Is there any reason why I shouldn't include the secret
> > key in my application? Anything that can damage my twitter account
> > and/or the application?
>
> > Tom

Reply via email to