BTW Speaking of “custom”, I would be very interested in
a token based authentication, at least for read access to
our repository server and mirror, we currently ship a static
read-only login, and also we don’t want to allow putting
their write (LDAP Login) credentials into files.

If the maven ecosystem would have a OS/Token method
like requestin a JWT token from a distribution point which
uses native Kerberos SSPI or user certificates that would
greatly improve this,

What’s your plan for that auth, can you upstream it?

Gruß
Bernd

David Grieve wrote on 4. June 2024 20:33 (GMT +02:00):

> Thank you for the hint, Tamás.
> 
> The problem I’m trying to solve is that I want a custom Authentication
> for a particular server. I do not want to re-implement HttpTransporter.
> Here are the important bits of what I’ve come up with.
> ----------------------------------
> public class MyTransporterFactory implements TransporterFactory {
> 
>     // copied from
>     org.eclipse.aether.transport.http.HttpTransporterFactory
>     private static Map<String, ChecksumExtractor>
>     getManuallyCreatedExtractors() {
>         HashMap<String, ChecksumExtractor> map = new HashMap<>();
>         map.put(Nexus2ChecksumExtractor.NAME, new
>         Nexus2ChecksumExtractor());
>         map.put(XChecksumChecksumExtractor.NAME, new
>         XChecksumChecksumExtractor());
>         return Collections.unmodifiableMap(map);
>     }
> 
>     // I’m not happy with this...
>     private final HttpTransporterFactory httpTransporterFactory = new
>     HttpTransporterFactory(getManuallyCreatedExtractors());
> 
>     @Override
>     public Transporter newInstance(RepositorySystemSession session,
>     RemoteRepository repository)  throws NoTransporterException {
> 
>         if (requiresSpecialAuth(repository)) {
>             repository = new RemoteRepository.Builder(repository)
>                 .setAuthentication(new MyAuthentication(repository))
>                 .build();
>         }
>         return httpTransporterFactory.newInstance(session, repository);
>     }
> ----------------------------------
> 
> Then “MyAuthentication” does the right thing for the fill method.
> 
> This approach is working for me, but I’d be interested to know if there
> is a better way. I do not want to re-implement HttpTransport!
> 
> 
> On 2024/06/03 20:25:48 Tamás Cservenák wrote:
>> Howdy,
>>
>> What are you trying to do? You may go better if you implement custom
>> (resolver) transport maybe?
— 
https://bernd.eckenfels.net

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org

Reply via email to