0
Fork 0
mirror of https://github.com/verdaccio/verdaccio.git synced 2025-01-06 22:40:26 -05:00

Implement logout endpoint

This commit is contained in:
Miguel Mejias 2016-08-10 12:14:08 +02:00 committed by trent.earl
parent 3d9af3152e
commit 25e00a3172
4 changed files with 27 additions and 1 deletions

View file

@ -24,6 +24,7 @@ module.exports = function(config, auth, storage) {
app.param('tag', validate_name)
app.param('version', validate_name)
app.param('revision', validate_name)
app.param('token', validate_name)
// these can't be safely put into express url for some reason
app.param('_rev', match(/^-rev$/))
@ -204,6 +205,13 @@ module.exports = function(config, auth, storage) {
}
})
app.delete('/-/user/token/:token', function(req, res, next) {
res.status(200)
next({
ok: 'Logged out',
})
})
function tag_package_version(req, res, next) {
if (typeof(req.body) !== 'string') return next('route')

View file

@ -59,6 +59,7 @@ describe('Func', function() {
require('./scoped')()
require('./security')()
require('./adduser')()
require('./logout')()
require('./addtag')()
require('./plugins')()
@ -85,4 +86,3 @@ process.on('unhandledRejection', function (err) {
throw err
})
})

View file

@ -43,6 +43,13 @@ Server.prototype.auth = function(user, pass) {
})
}
Server.prototype.logout = function(token) {
return this.request({
uri: '/-/user/token/'+encodeURIComponent(token),
method: 'DELETE'
})
}
Server.prototype.get_package = function(name) {
return this.request({
uri: '/'+encodeURIComponent(name),

11
test/functional/logout.js Normal file
View file

@ -0,0 +1,11 @@
module.exports = function() {
var server = process.server
describe('logout', function() {
it('should log out', function () {
return server.logout('some-token')
.status(200)
.body_ok(/Logged out/)
})
})
}