dropbox / dropbox-sdk-rust

Dropbox SDK for Rust
Apache License 2.0
76 stars 18 forks source link

Document the recommended way of getting an `AppAuthClient` #156

Open okkero opened 2 months ago

okkero commented 2 months ago

I am trying to authenticate using basic auth with app key and app secret. The way I understand it is that AppAuthClient is meant to be used for that. I read through the documentation and came across this: The default client has implementations of all of these (except for AppAuthClient currently). Now, I was wondering if there is a recommended alternative to get a hold of an AppAuthClient, and if there is, if it could be documented somewhere.

Sorry if I'm missing something obvious. I tried quickly putting together one myself, backed by a NoAuthClient, thinking I could just add the required auth header before the backing client takes care of the rest, but I found no way to do that last bit.

Versions

Additional context My current approach is to just copy a bunch of the code from https://github.com/dropbox/dropbox-sdk-rust/blob/master/src/default_client.rs until I have something that works mostly like the other clients but with the correct auth. Very much a hack which I would like to avoid if possible.

wfraser commented 2 days ago

First, check that App auth is actually what you want. There are very few things you can do with only app auth:

and that's it. Usually you want user or team auth instead.

If you do really need app auth, then you're correct, this hasn't been implemented here (yet). Basically you'd need to use the default no-auth client and set an appropriate Authorization: Basic <base64...> header on each request.

If I get a bit of spare time I can probably just add it; it's pretty easy at this point.