Commit Graph

150 Commits

Author SHA1 Message Date
Lewin Bormann
1ceaf6044e fix(deps): Remove unnecessary dependencies in drive_example 2016-09-22 10:37:03 +02:00
Lewin Bormann
e1eeeefeff feat(examples): Add example for installed-interactive flow.
This PR also depends on the version bump to 0.6.4.
2016-09-21 22:44:13 +02:00
Sebastian Thiel
83bfbab114 chore(changelog): update 2016-09-11 09:45:37 +02:00
Sebastian Thiel
e1a5fc4924 chore(version-up): v0.6.3 2016-09-11 09:42:04 +02:00
Sebastian Thiel
efaadd5bac chore(Cargo): upgrade serde to latest version
That way, nightly builds will work once again.
2016-09-11 09:40:49 +02:00
Sebastian Thiel
cd2b1d56a9 chore(Cargo): make @dermesser an author officially
Thanks for all your contributions, it's the least I can do
to make it a bit more official.

If you don't like this, please let me know.
2016-09-11 09:39:19 +02:00
Lewin Bormann
51e0b9d163 docs(installed): Mention the InstalledFlow in the documentation 2016-09-04 19:29:56 +02:00
Lewin Bormann
cb66737988 fix(test): Add missing import to authenticator tests 2016-09-04 19:20:59 +02:00
Lewin Bormann
a4532f27b4 fix(helper): Parse app secrets into right type 2016-08-31 20:46:10 +02:00
Lewin Bormann
c4231e9499 feat(helpers): Add helpers for reading/parsing JSON
This is boilerplate that can easily be provided to users of the library.
2016-08-31 20:07:33 +02:00
Lewin Bormann
85b12dd3e8 refactor(common): Rename common -> types 2016-08-31 20:01:24 +02:00
Lewin Bormann
9e59bf0496 refactor(all): More flows demand for a different structure
I mainly resolved some circular dependencies that had crept in, and
moved code around. I renamed helper.rs because that was not really an
appropriate name anymore, and moved the delegate code into a new module.
2016-08-31 19:48:38 +02:00
Sebastian Thiel
7a907eb318 fix(dependencies): use latest version of serde_codegen
In the way it's meant to be used, which means it uses it's
own version of syntex, to assure it doesn't clash anymore in
unforseen ways.
2016-07-17 11:36:21 +02:00
Sebastian Thiel
6cf706c54f chore(travis): sudo should not be required 2016-07-03 15:11:15 +02:00
Sebastian Thiel
e0661f714c doc(README): add coverage information
[skip ci]
2016-05-25 11:45:13 +02:00
Sebastian Thiel
9283db022d fix(travis): actually it should already work this way
travis-cargo knows travis, and does the right thing.
We only want to be sure to run on one platform only.
2016-05-25 11:31:50 +02:00
Sebastian Thiel
d1189d98da fix(travis): see all environment variables 2016-05-25 11:15:33 +02:00
Sebastian Thiel
30fc78cbf8 fix(travis): use actual feature matrix 2016-05-25 11:02:34 +02:00
Sebastian Thiel
361856ba5a fix(travis): try again without env: matrix: 2016-05-25 10:59:31 +02:00
Sebastian Thiel
f404fcd7fa fix(travis): env: matrix is required it seems 2016-05-25 10:42:42 +02:00
Sebastian Thiel
3fb8d0fec6 fix(travis): try without explicit inclusion 2016-05-25 10:38:05 +02:00
Sebastian Thiel
136b57524f fix(travis): try without env: matrix 2016-05-25 10:36:04 +02:00
Sebastian Thiel
17c344c997 fix(travis): another attempt to get env-config right 2016-05-25 10:32:39 +02:00
Sebastian Thiel
0fc5d6939c fix(travis): remove matrix code
Maybe this causes the hanging.
2016-05-25 10:22:34 +02:00
Sebastian Thiel
ceb013103a chore(travis): possibly fix configuration
Based on the help provided by the travis support team,
this one might actually work.
However, while changing the file I realized that I didn't
provide all information they would need, so I merged their
solution into the existing one.
2016-05-25 08:50:21 +02:00
Sebastian Thiel
2fe535c9d6 chore(version-up): v0.6.1 2016-05-24 15:22:11 +02:00
Sebastian Thiel
57a3151d4d fix(flows): save Token properly
The installed flow didn't explicitly set the retrieved token
absolute, which would cause failures down the road.
2016-05-20 18:24:28 +02:00
Sebastian Thiel
a9d0b06925 chore(version-up): v0.6.0
Comes with DiskStorage and new Flow !!!
2016-05-20 15:26:38 +02:00
Sebastian Thiel
31bad1ae53 chore(features): rename with_syntex to with-syntex
This makes the name similar to the one used in quasi, aster, serde
and the likes.
2016-05-20 14:57:09 +02:00
Sebastian Thiel
a3bc7e88b5 chore(serde): upgrade to latest version for stable
Now it builds with stable too, it appears.
2016-05-20 12:15:23 +02:00
Sebastian Thiel
93b3b8d551 chore(dependencies): record last known working version
Just to be sure we keep this thing in a working state.

Commandline used via nightly:
cargo build --no-default-features --features=nightly
2016-05-20 09:05:32 +02:00
Sebastian Thiel
22bb255a55 fix(dependencies): work with latest dependencies on nightly
Stable doesn't quite work yet due to the cargo issue further
described [here][cargo-issue]

[cargo-issue]: https://github.com/rust-lang/cargo/issues/2064
2016-05-20 08:57:06 +02:00
Sebastian Thiel
815d8863ed Merge branch 'disk-token-storage' of https://github.com/dermesser/yup-oauth2 into all-upgrades 2016-05-20 07:58:14 +02:00
Sebastian Thiel
eafa1b22fe Merge branch 'installed-flow' of https://github.com/dermesser/yup-oauth2 into all-upgrades 2016-05-20 07:55:33 +02:00
Lewin Bormann
a7e8423fe0 refactor(installedflow): Apply suggestions from PR 2016-04-27 19:25:40 +02:00
Lewin Bormann
4e1d9bd750 fix(dependencies): hyper also broke us
The Url::query_pairs() function returns a different type now.
2016-04-27 19:19:20 +02:00
Lewin Bormann
95ecb5c388 fix(dependencies): use url = 0.5; the bump to 1.0 broke us
Fixes #23.
2016-04-25 19:45:43 +02:00
Lewin Bormann
5c4e318842 fix(dependencies): use url = 0.5; the bump to 1.0 broke us
Fixes #23.
2016-04-25 19:39:11 +02:00
Lewin Bormann
ae5e94bf7b fix(DiskTokenStorage): make DiskTokenStorage::new() return a Result<> 2016-04-25 19:14:53 +02:00
Lewin Bormann
b039dc0cdc refactor(installedflow): use app secret instead of single params 2016-04-16 21:02:57 +02:00
Lewin Bormann
9b31070edb fix(installed): Genericize token/auth URI
This means that in theory other providers besides Google could be used.
2016-04-16 20:54:11 +02:00
Lewin Bormann
77355888f2 feat(flows): Implement flow for installed apps
The "Installed App Flow" requires user interaction; we first generate a
URL that the user has to navigate to. Then, the user either pastes a
displayed code into the app being authorized, or the OAuth provider
redirects the user's browser to a webserver that is running on
localhost. This webserver is provided by the library and the flow should
work automatically. Extensive documentation can be found here:
https://developers.google.com/identity/protocols/OAuth2InstalledApp
An example for the InstalledFlow with the Drive API is here:
https://gist.github.com/dermesser/8c915ec4c88ee8e8927e7d40b276ca52
2016-04-16 14:45:45 +00:00
Lewin Bormann
2cb5250e72 feat(storage): Implement DiskTokenStorage
DiskTokenStorage is a TokenStorage that stores its tokens in a JSON file
on disk. That file can be read in later, and the tokens in it reused.
(The idea for a cache file is from here:
https://developers.google.com/drive/v3/web/quickstart/go)
2016-04-15 19:42:50 +00:00
Sebastian Thiel
2aa95c0500 fix(serde): go back to serde 0.6 (#18)
That way, google-apis-rs can compile once again.
If not done, yup-oauth ends up being compiled with
an older serde (the one of google-apis-rs, it seems), even
though its code was generated by a possibly newer serde.

Signed-off-by: Sebastian Thiel <sthiel@thoughtworks.com>
2016-04-10 13:10:40 +02:00
Sebastian Thiel
9481e5cf40 chore(travis): allow failures on osx for now
Related to #16
2016-02-07 10:56:39 +01:00
Sebastian Thiel
a921baedd7 chore(travis): travis-cargo PATH for osx 2016-02-07 10:41:10 +01:00
Sebastian Thiel
88676845b6 chore(travis): test OSX as well
Try to reproduce #16
2016-02-07 10:30:36 +01:00
Sebastian Thiel
78d45ad1cb chore(version-up): v0.5.5 2016-02-07 10:18:41 +01:00
Sebastian Thiel
4e5544b6a3 Merge remote-tracking branch 'origin/master'
As I managed to redo previous work, but with a better result,
'their' side was completely overwritten by 'our' more recent version.
2016-02-07 10:14:47 +01:00
Sebastian Thiel
ea56379d85 chore(version-up): v0.5.4 2016-02-07 10:11:06 +01:00