Commit Graph

343 Commits

Author SHA1 Message Date
Lewin Bormann
b6ed5c812e Merge pull request #97 from markcatley/salesforce-device-flow-updates
Updates to allow retrieving a token using the device flow on Salesforce.
2019-07-10 14:05:37 +02:00
Lewin Bormann
52e02ebb00 Merge pull request #98 from markcatley/spelling
Fixing typos and spelling in comments.
2019-06-27 23:53:04 +02:00
Mark Catley
2ee218be55 Adding error logging to the Device Flow. 2019-06-28 09:49:56 +12:00
Mark Catley
ff8b3ede30 Updates to allow retrieving a token using the device flow on Salesforce. 2019-06-28 09:49:52 +12:00
Mark Catley
7459f167c5 Fixing typos and spelling in comments. 2019-06-28 09:46:59 +12:00
Lewin Bormann
57c84263c0 chore(syntax): Run rustfmt. 2019-06-22 22:49:39 +02:00
Lewin Bormann
b064129f77 fix(ServiceAccount): Fix left-over Box<Error> 2019-06-22 22:30:54 +02:00
Lewin Bormann
e108c75b48 test(coverage): Add manual coverage script. 2019-06-22 22:21:23 +02:00
Lewin Bormann
9a334e2d21 chore(version): Release v3.0.2-beta 2019-06-22 22:14:14 +02:00
Lewin Bormann
4beb0e68e2 Merge branch 'futures'
This is #94.
2019-06-22 22:13:26 +02:00
Lewin Bormann
2d94e043d8 doc(misc): Add some small missing pieces. 2019-06-22 22:03:26 +02:00
Lewin Bormann
602ea1565d refactor(errors): Move almost everything to RequestError.
This is nicer than stupid Box<dyn Error+Send> everywhere.
2019-06-22 21:53:55 +02:00
Lewin Bormann
8d6085375f doc(Installed): More documentation about InstalledFlow and new example 2019-06-22 20:25:47 +02:00
Lewin Bormann
ff015daf2d chore(fmt): Make rustfmt on Travis happy. 2019-06-22 12:33:38 +02:00
Lewin Bormann
d1952e9d67 test(Refresh): Properly process panics in RefreshFlow test. 2019-06-22 12:17:42 +02:00
Lewin Bormann
45431d83ff test(Device): Add tests for Device flow 2019-06-22 12:17:23 +02:00
Lewin Bormann
bfe481c93b test(RefreshFlow): Add end-to-end test.
This flow is not very complex, but now we have appropriate coverage.
2019-06-22 00:06:11 +02:00
Lewin Bormann
16b76b8726 test(Installed): Add end-to-end test for Installed flow.
Also using mockito. We test both the interactive and the
local-HTTP-redirect paths, as well as the interaction with the token
provider.
2019-06-21 21:47:35 +02:00
Lewin Bormann
33babd3d53 test(ServiceAccount): Add tests for error paths. 2019-06-21 19:32:49 +02:00
Lewin Bormann
c321f6d2e6 fix(ServiceAccount): Make cache behavior more intuitive.
Now the cache is only checked for a token when the future is polled, not
at future creation time.

This also allows for reverting c2b41c3.
2019-06-21 18:41:17 +02:00
Lewin Bormann
e0f3298904 test(ServiceAccount): Add test with internal mockito web server. 2019-06-21 11:22:24 +02:00
Lewin Bormann
c2b41c3da2 fix(test-svc-acct): Non-lazy cache lookup resulted in two requests. 2019-06-21 11:12:59 +02:00
Lewin Bormann
5e76c2258f docs(README): Update README about provider specificity. 2019-06-19 18:24:27 +02:00
Lewin Bormann
534d5edc12 refactor(google): Make some things less google-specific. 2019-06-19 18:22:03 +02:00
Lewin Bormann
d631c259e8 refactor(StringError): Take more comfortable types in StringError::new
Follow up to #77.
2019-06-14 10:49:43 +02:00
Lewin Bormann
9e4a7e6d49 refactor(StringError): Take more comfortable types in StringError::new 2019-06-14 10:44:44 +02:00
Lewin Bormann
d3f1f87760 chore(version): Mark 3.0.0 as -alpha for publishing. 2019-06-13 21:46:40 +02:00
Lewin Bormann
5a568f2358 fix(refresh): Write refreshed tokens back to cache.
Tested manually.
2019-06-13 18:58:49 +02:00
Lewin Bormann
0eb1268567 doc(tokio): Set keep_alive to false on hyper clients.
This prevents hanging event loops.
2019-06-13 18:52:04 +02:00
Lewin Bormann
10f94a3fd4 docs(Authenticator): Update doc about hyper client as in #93. 2019-06-13 18:33:50 +02:00
Lewin Bormann
f034b8bea4 imp(ServiceAccountAccess): Print exact error if server returns one.
Prevents #76.
2019-06-13 16:16:51 +02:00
Lewin Bormann
6b05056b05 imp(expiry): Treat tokens with < 1 minute life left as expired.
Fixes #78.
2019-06-13 16:08:23 +02:00
Lewin Bormann
4cfbc6e5fc imp(Device): Honor FlowDelegate's opinion on pending authorization. 2019-06-13 16:07:32 +02:00
Lewin Bormann
bcca9b77bd imp(expiry): Treat tokens with < 1 minute life left as expired.
Fixes #78.
2019-06-13 15:51:04 +02:00
Lewin Bormann
6ca5e4c308 imp(Errors): Require Send on all boxed Errors.
Fixes #85.
2019-06-13 15:48:07 +02:00
Lewin Bormann
bdb0bd92e7 fix(examples): Update examples to use Authenticator. 2019-06-13 15:32:48 +02:00
Lewin Bormann
48cf83e4da feat(Authenticator): Implement new Authenticator. 2019-06-13 15:32:31 +02:00
Lewin Bormann
18411a0610 imp(Storage): Implement Default for MemoryStorage and make errors sendable 2019-06-13 15:30:50 +02:00
Lewin Bormann
a656df6b74 feat(GetToken): Add application_secret method to GetToken trait.
This makes decoupling Authenticator and individual flows easier while
allowing for refreshing tokens.
2019-06-13 15:29:18 +02:00
Lewin Bormann
86e71cca5d feat(DefaultFlowDelegate): Introduce DefaultFlowDelegate type.
This was necessary after splitting traits.
2019-06-13 15:28:25 +02:00
Lewin Bormann
9efad9b086 chore(version): Preemptively change version to 3.0.0 2019-06-13 15:27:41 +02:00
Lewin Bormann
505d759ba0 refactor(Refresh): Convert Refresh flow to be simpler and use futures. 2019-06-12 22:13:58 +02:00
Lewin Bormann
71a45f059e refactor(delegate): Split AuthenticatorDelegate to have FlowDelegate 2019-06-12 21:16:28 +02:00
Lewin Bormann
46e1f1b880 feat(DeviceFlow): Proper timeout handling for the DeviceFlow. 2019-06-12 19:28:37 +02:00
Lewin Bormann
e7a89fae07 refactor(cleanup): Remove obsolete tests.
DeviceFlow now works in a different way, so remove old test.
2019-06-12 18:49:14 +02:00
Lewin Bormann
58383f9a03 refactor(DeviceFlow): Make DeviceFlow work with Futures 2019-06-12 18:43:30 +02:00
Lewin Bormann
732e594962 refactor(InstalledFlow): Implement GetToken for InstalledFlow 2019-06-12 14:40:08 +02:00
Lewin Bormann
59b2b03b7d rewrite(serviceaccount): Rewrite ServiceAccountAccess to use futures.
Also add example/test to check if obtaining tokens using JWTs works.
2019-06-12 13:50:56 +02:00
Lewin Bormann
39fe5f1d25 chore(syntax): Use dyn everywhere and remove unused imports. 2019-06-12 00:05:32 +02:00
Lewin Bormann
f3774e4b74 fix(tests): Disable unused tests and fix failing ones. 2019-06-12 00:02:47 +02:00