Comments (6)
For http BASIC auth this is trivial. For digest it's IMHO not so easy since usually the digest is a handshake between server and client where both parties trade nonces. AFAIR there is a way to do that but it would probably require a lot of new code that doesn't exist in okhttp-digest.
from okhttp-digest.
Thanks for the reply!
I suspected this was the case. Maybe I can do some other intercept trick in okhttp to "fix" it? Say for instance that if my "require authentication" flag is set I check to see if the authentication header is present in the response and if it's not I simply throw exception/break chain. That way anonymous requests only work when authentication flag is not set.
What do you think of such solution?
from okhttp-digest.
To get preemptive HTTP Basic Authentication you can simply add the basic auth header yourself: https://stackoverflow.com/a/57360804/464773.
Alternatively you can use the https://github.com/rburgst/okhttp-digest/blob/master/src/main/java/com/burgstaller/okhttp/AuthenticationCacheInterceptor.java and pre-inject the HTTP Basic Authentication.
As said earlier, this wont work for digest as currently there is no way to pre-authenticate digest authentication.
The only thing that you could do for digest auth is to make a first request directly to a server endpoint that produces a 401.
from okhttp-digest.
Yes, thank you. Before using this package I was adding my own interceptor for basic authentication. The issue I'm having is when a server can handle both anonymous and logged in content and I want to force the logged in content.
I understand what you are saying. I will do some more tests before dropping this entirely.
from okhttp-digest.
Is this issue Fixed or just Closed (Completed)?
from okhttp-digest.
As I didn't get any more feedback I closed this ticket.
from okhttp-digest.
Related Issues (20)
- IncompatibleClassChangeError using digest access authentication and latest OkHttp HOT 4
- Explain how to run ProxyAuthenticationManualTest HOT 4
- java.lang.NoSuchMethodError with okhttp 4.3.0 HOT 1
- Error code 401 HOT 5
- Authentication Cache Concurrent Modification Exception HOT 3
- Still getting 401 after Authentication Challenge HOT 8
- Http proxy with digest auth, error when server sends HTTP-301 redirect HOT 2
- How to use UTF-8 in basic and digest access authentication HOT 7
- Failed to resolve: com.burgstaller:okhttp-digest:1.19 HOT 5
- How to use OkHttp 3.12.x which supports API level 9+ in okhttp-digest HOT 3
- Copyright missing HOT 1
- Jcenter closing in May HOT 5
- Latest 1.x version is not in Maven Central HOT 2
- How can I Set Realm and Client Nonce in ADVANCED of Authorization Digest Auth HOT 3
- java.lang.NoSuchFieldError HOT 17
- After putting app idle for some time it gives 401 issue for authorised request HOT 6
- Authentication fails if the site being accessed during proxy setup is HTTPS and digest authentication is used. HOT 4
- Are the `com.burgstaller:okhttp-digest` artifacts hosted on any public repo? HOT 6
- org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is **java.lang.IncompatibleClassChangeError**: Expected static method okhttp3.internal.http.RequestLine.requestPath(Lokhttp3/HttpUrl;)Ljava/lang/String; HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from okhttp-digest.