Commit Graph

29 Commits

Author SHA1 Message Date
Christoph Polcin
ca40e2802e Feat: Authentication API
The changes simplify the `req` method by moving the
authentication-related code into the API.
This makes it easy to add additional authentication methods.

The API introduces an `Authorizer` that acts as an
authenticator factory. The authentication flow itself
is divided down into `Authorize` and `Verify` steps in order
to encapsulate and control complex authentication challenges.

The default `NewAutoAuth` negotiates the algorithms.
Under the hood, it creates an authenticator shim per request,
which delegates the authentication flow to our authenticators.

The `NewEmptyAuth` and `NewPreemptiveAuth` authorizers
allow you to have more control over algorithms and resources.

The API also allows interception of the redirect mechanism by setting
the `XInhibitRedirect` header.

This closes: #15 #24 #38
2023-06-22 13:32:03 +02:00
Christoph Polcin
17255f2e74 Updates badges 2022-10-16 01:27:16 +02:00
Christoph Polcin
937a18c9a3 removes travis-ci 2022-10-16 01:22:06 +02:00
Christoph Polcin
8528c01163 updates API 2022-10-16 01:02:00 +02:00
Christoph Polcin
a047320e42 Updates README 2022-01-27 16:33:26 +01:00
Christoph Polcin
86f8378cf1 Update API description 2021-04-27 23:21:33 +02:00
Christoph Polcin
bdacfab947 update README due to API changes 2020-09-29 10:07:39 +02:00
Christoph Polcin
9380631c29 update README 2020-03-03 16:07:24 +01:00
vitalii
cba565a9dc links was updated in readme file. Related to studio-b12/gowebdav#27
RFC 2518 was removed because it is obsolete
RFC 4918 was added because it is actual
RFC 5689 was added because it updates RFC 4918
2018-10-24 14:05:51 +03:00
vitalii
e29bc0f031 main readme file was updated 2018-10-22 08:09:12 +03:00
Christoph Polcin
3cd755d6c4 make check api 2018-07-14 01:55:58 +02:00
Christoph Polcin
c4c24955e1 update README 2018-06-19 08:43:13 +02:00
Aaron Bieber
a33240e4ab add ability to read login / pw from ~/.netrc 2018-05-26 01:36:44 +02:00
Christoph Polcin
fbcb29d33e docs 2018-05-25 23:59:53 +02:00
Christoph Polcin
d6b82df09a update cmd usage 2018-05-25 12:28:34 +02:00
Christoph Polcin
1e4b7a5554 refactor client 2018-05-24 01:24:27 +02:00
Christoph Polcin
3993494db0 refactor cmd 2018-05-24 01:24:25 +02:00
Christoph Polcin
34368960d0 refactor 2018-05-23 14:15:46 +02:00
Christoph Polcin
375f391c8a Escape URL 2018-05-23 13:41:06 +02:00
Christoph Polcin
7ea52a8e4f fix close 2018-05-17 01:24:14 +02:00
Abdurrahman
0e7fe90d28 Fetch ContentType and ETag 2018-05-17 01:22:58 +02:00
Christoph Polcin
0120c3c3c4 hello travis-ci 2018-05-17 00:27:52 +02:00
Christoph Polcin
410e447c49 simplify 409 write error handler 2018-05-16 23:39:37 +02:00
Christoph Polcin
65a34986d4 update Readme 2018-05-16 14:35:38 +02:00
Christoph Polcin
732590873e docs 2018-05-16 14:05:18 +02:00
Christoph Polcin
5a1a85f622 update README 2018-05-16 14:05:18 +02:00
Christoph Polcin
06583fe483 update rfc links 2018-05-15 12:14:08 +02:00
Christoph Polcin
fa9482a9f2 add links to README 2014-10-28 07:53:14 +01:00
Christoph Polcin
1c0199c667 add README 2014-10-23 10:35:52 +02:00