silas / node-jenkins

Jenkins client
https://www.npmjs.com/package/jenkins
MIT License
354 stars 86 forks source link

Authenticate once #43

Open osher opened 7 years ago

osher commented 7 years ago

Is there a way to authenticate once and use a session-token instead of sending creds in plain text for every request?

I would expect it to implement an .authenticate(user,pwd, callback(err, token)) method, and work with a session-token instead of sending creds in plain text...

Maybe there is?

I did see I can inject whatever headers to each request. Is that what you mean users to hook on? In that case - is there a method that just authenticates and provides valid cookie / token / auth header?

silas commented 7 years ago

You can just pass in the username/token fields the same way you pass in the username/password fields. I don't know if Jenkins has an API for generating tokens. If you find one I'm not against implementing it, but I haven't run across it yet.

Domuska commented 5 years ago

I've also looked at this issue and not really found out if Jenkins supports that kind of token-based authentication. You can get the indefinitely living API token from Jenkins' UI or fetch it programmatically as explained here, but that's hacky at best.