Commit Graph

522 Commits

Author SHA1 Message Date
Simonas Kazlauskas
dd004fed3c Implement an ability to work without default client 2021-06-29 13:30:40 +03:00
Simonas Kazlauskas
d385601433 --all-features and --no-default-features
This adjusts the code and documentation for `--all-features` and
`--no-default-features` to work correctly. With `--no-default-features`
no `DefaultAuthenticator` is made available. Users are in control of
picking the `Connector` they want to use, and are not forced to stomach
a dependency on `rustls` or `hyper-tls` if their TLS implementation of
choice doesn't happen to match one of the two.

To indicate this, the unstable `doc_cfg` feature is used to build
documentation on docs.rs. That way the generated documentation has
notices on these types that look as such:

> This is supported on crate features hyper-rustls or hyper-tls only.

Additionally this functionality is tested via additional coverage in the
Actions' CI.
2021-06-29 12:57:57 +03:00
Lewin Bormann
e63aa4b843 Merge pull request #146 from djrodgerspryor/custom_storage_options
Custom token storage
2021-04-01 22:53:36 +02:00
Daniel Rodgers-Pryor
e9facaef5d Remove now irrelevant comment about ScopeSets 2021-03-26 20:48:06 +11:00
Daniel Rodgers-Pryor
6e4503f55e Simplify with_storage interface
By only allowing a custom storage. To use one of the built-in storage mechanism, there is already a special-purpose `persist_tokens_to_disk` method available.
2021-03-25 21:20:21 +11:00
Daniel Rodgers-Pryor
089543f6c9 Remove unnecessary deref 2021-03-25 21:13:35 +11:00
Daniel Rodgers-Pryor
fbf6c17916 Expose TokenInfo fields publically
For easier debugging, and for implementing custom storage solutions which might not use serde.
2021-03-25 21:11:26 +11:00
Daniel Rodgers-Pryor
98ee92f8b2 Don't publish the ScopeSet struct
Just pass `&[&str]` into custom storage providers. The scopeset struct has a range of unnecessary internal features.

It's now also part of the interface for custom storage providers that the given scopes will be both unique and sorted.

The only slightly awkward thing is that there's no conventient way to expose a `scopes_covered_by` helper method (which almost all custom storage engines will need), but it's still included in the example code.
2021-03-25 21:08:12 +11:00
Lewin Bormann
376de2aa8c Release v5.1.0
Now, Authenticator can be cloned. #133 #151
2021-03-06 10:23:01 +01:00
Lewin Bormann
0079473374 Merge pull request #151 from dermesser/feature/authenticator-clone
Make Authenticator Clone
2021-03-06 10:22:20 +01:00
Lewin Bormann
68dba11408 Run rustfmt 2021-03-06 10:20:32 +01:00
Lewin Bormann
6e6fdcfdde Merge branch 'enable-github-actions' 2021-03-04 19:48:00 +01:00
Lewin Bormann
0d781a1aa9 Enable Github Actions for testing 2021-03-04 19:47:33 +01:00
Lewin Bormann
83296afc83 Run rustfmt on authenticator.rs 2021-03-04 19:33:08 +01:00
Lewin Bormann
9a29525cd7 Move to literal string in panic! macro 2021-03-04 19:32:31 +01:00
Lewin Bormann
010668cc62 Make Authenticator Clone 2021-03-04 19:32:20 +01:00
Lewin Bormann
eafdaaa4be Update README with new versions 2021-03-04 11:46:05 +01:00
Lewin Bormann
e3b2509753 Make drive_example compile and add warning 2021-03-04 11:40:36 +01:00
Lewin Bormann
88e36b19f9 Make service_account example compile and add README with warning 2021-03-04 11:38:05 +01:00
Daniel Rodgers-Pryor
384963e091 Revert mutable authenticator interface change
Instead, suggest using interior mutability (and RwLock in the example) to manage storage of token states. This makes it easier to share authenticators between threads.
2021-02-06 22:59:00 +11:00
Daniel Rodgers-Pryor
5ef498f801 Custom token storage
Allow users to build their own token storage system by implementing the `TokenStorage` trait. This allows use of more secure storage mechanisms like OS keychains, encrypted files, or secret-management tools.

Custom storage providers are Box-ed to avoid adding more generics to the API — the indirection cost will only apply if using a custom store.

I've added `anyhow` to allow easy handling of a wide range of errors from custom storage providers.
2021-02-06 22:59:00 +11:00
Lewin Bormann
00574f278b Release v5.0.3
for #147 / #144
2021-02-05 09:03:53 +01:00
Lewin Bormann
6b773c4d7d Merge pull request #144 from lyonbeckers/option_hyper_tls
Draft: feat: introduce an optional hyper-tls dependency, closes  #143
2021-02-03 14:44:57 +01:00
Lyon Beckers
5b1facf7a0 Merge branch 'master' of https://github.com/lyonbeckers/yup-oauth2 into option_hyper_tls 2021-02-01 07:18:48 -07:00
Lyon Beckers
26db4b6efc introduced a feature which allows the use of hyper-tls instead of hyper-rustls 2021-01-29 16:58:06 -07:00
Lewin Bormann
75e402412f Release v5.0.2
Includes fix to #141
2021-01-29 21:47:05 +01:00
Lewin Bormann
28e27b6480 Merge pull request #142 from Shadow53/master
installed flow: support urls with existing query params
2021-01-29 21:46:00 +01:00
Michael Bryant
3ca0164908 fix lint 2021-01-25 14:13:42 -08:00
Michael Bryant
6c433a6fb5 installed flow: support urls with existing query params 2021-01-25 09:53:22 -08:00
Lewin Bormann
afec480587 Release v5.0.1 with stable Tokio 2020-12-29 08:39:58 +01:00
Lewin Bormann
864f918496 Merge pull request #138 from maximebedard/bump-tokio-0-3
Bump to tokio 1.0 and hyper 0.14
2020-12-27 09:05:14 +01:00
Maxime Bedard
cc2abadb3c fmt 2020-12-26 22:14:57 -05:00
Maxime Bedard
07bc4803c0 update hyper-rustls to 0.22 2020-12-26 19:30:43 -05:00
Maxime Bedard
63b185b711 use released version of httptest 2020-12-24 16:37:35 -05:00
Maxime Bedard
c5bc3913d7 remove unecessary rt feature flag 2020-12-24 09:39:10 -05:00
Maxime Bedard
ec28689080 bump hyper=0.14, tokio=1.0, hyper-rustls, httptest 2020-12-24 09:31:18 -05:00
Lewin Bormann
b59c617027 Doc: Remove reference to DeviceFlowHelper to fix #140.
Oh boy, that was removed in 2015...
2020-12-03 21:27:30 +01:00
Lewin Bormann
b7de2f8d60 Merge pull request #139 from mike-kfed/custom_flow_example
example showing howto implement a custom flow, here opening the
2020-11-20 14:25:20 +01:00
Michael Kefeder
adc99a10ec example showing howto implement a custom flow, here opening the
default webbrowser with the oauth2 URL for the installed flow.
2020-11-16 09:52:08 +01:00
Maxime Bedard
4026d92cf6 Bump to tokio 0.3 and hyper 0.14 2020-11-12 20:31:19 -05:00
Lewin Bormann
be4faf944b drive_example: Make example compile again. Fixes #134 2020-10-27 15:25:16 +01:00
Lewin Bormann
2f50876002 Release v4.1.3 2020-10-27 11:11:33 +01:00
Lewin Bormann
9bf40bef5b Authenticator: Switch from keep_alive to pool_max_idle_per_host 2020-10-27 11:10:57 +01:00
Lewin Bormann
d193431465 Make two more application secret types Debug 2020-10-27 11:10:30 +01:00
Lewin Bormann
4660676073 Revert "Upgrade tokio -> 0.3: Bump version to v5.0.0"
This reverts commit e07bc6f471.

Hyper and tokio 0.3 don't work together yet.
2020-10-20 17:47:39 +02:00
Lewin Bormann
e07bc6f471 Upgrade tokio -> 0.3: Bump version to v5.0.0 2020-10-20 16:28:46 +02:00
Lewin Bormann
55a8984c81 Another slight update to README 2020-10-18 22:42:14 +02:00
Lewin Bormann
c888d23d19 Add link to async-google-apis in README. 2020-10-17 20:08:10 +02:00
ggriffiniii
3d84ddd178 Merge pull request #132 from zauberpony/fix-claim-field-name
fix 'subject' name in service-account claim
2020-05-28 11:31:13 -07:00
Elmar Athmer
43c8a3d77d fix 'subject' name in service-account claim
As indicated by
https://developers.google.com/identity/protocols/oauth2/service-account#httprest
the name for the subject-field inside the JWT claim needs to be named
'sub' (instead of 'subject').
This is relevant e.g. for the GSuite Admin Directory API.
2020-05-28 17:23:15 +02:00