Cameron Taggart
eb2d09870b
more #[cfg(feature = "service_account")]
2022-02-24 07:23:09 -05:00
Lewin Bormann
9b81a7183e
Make rustls dependency optional by introducing "service_account" feature
...
Now, service_account code must be (implicitly) enabled.
Asked for in feature #168
2022-02-22 20:10:39 +01:00
Lewin Bormann
65e7fee104
Merge pull request #167 from bjornwein/parse_service_account_key
...
feat(helper): add parse_service_account_key() function
2021-12-27 11:21:19 +01:00
Björn Weinehall
da648e9f39
feat(helper): add parse_service_account_key() function
...
Add parse_service_account_key() in line with parse_application_secret().
Can be used to e.g. pass the service account key through an env variable.
2021-12-21 11:06:26 +01:00
Björn Weinehall
8829599c8c
Amend tests for the ID token field
2021-12-21 10:42:59 +01:00
Björn Weinehall
6e6579ab59
Add ID token support
2021-12-17 16:25:02 +01:00
Lukas Winkler
39c712dfab
Remove no longer applicatble TODO's
2021-12-01 13:50:16 +01:00
Lukas Winkler
c7793063e4
Add feature gates where required
2021-11-25 20:01:59 +01:00
Lukas Winkler
cd821f575d
Make doc tests pass
2021-11-25 19:45:08 +01:00
Lukas Winkler
169e5ff1c0
Allow overriding metadata url used during testing
2021-11-25 19:37:11 +01:00
Lukas Winkler
792cc04694
Extend to provide with_client as well
2021-11-25 17:36:39 +01:00
Lukas Winkler
7818c6a460
Make work with new structure after rebase
2021-11-25 16:45:26 +01:00
Antti Peltonen
921f1c7190
builder pattern for adc struct
2021-11-21 09:57:07 +01:00
Antti Peltonen
7638946508
work started on adc implementation
2021-11-21 09:57:06 +01:00
James Hinshelwood
be86791762
Add token deserialization workaround
...
This fixes token deserialization when the
serde_json/arbitrary_precision feature is enabled.
See https://github.com/serde-rs/json/issues/559 for details.
Co-authored-by: James Hinshelwood <james.hinshelwood@bigpayme.com >
2021-09-15 15:58:09 +01:00
Simonas Kazlauskas
469f045247
Use a test matrix to test feature combinations
2021-06-29 14:07:53 +03:00
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
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
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
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
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
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
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
07bc4803c0
update hyper-rustls to 0.22
2020-12-26 19:30:43 -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
Maxime Bedard
4026d92cf6
Bump to tokio 0.3 and hyper 0.14
2020-11-12 20:31:19 -05: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
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
George Hahn
b891e9e670
Expose default authenticator type
...
This allows downstream users to avoid a dependency on hyper
2020-05-01 11:25:25 -05:00
Abdul Rehman
09d1f05a00
feat: Use futures-aware mutex
2020-04-06 15:31:49 +05:00
Lewin Bormann
35157400ad
chore(rustfmt): Run rustfmt
2020-03-16 19:15:14 +01:00
Lewin Bormann
1e492c7393
feat(refresh): Allow forcing Authenticator to refresh a token
...
On #125
2020-03-16 18:33:15 +01:00
Lewin Bormann
c70956269b
chore(lint): Run rustfmt
2020-02-16 20:57:20 +01:00