REST API v2

- add JWT authentication
- admins are now stored inside the data provider
- admin access can be restricted based on the source IP: both proxy
  header and connection IP are checked
- deprecate REST API CLI: it is not relevant anymore

Some other changes to the REST API can still happen before releasing
SFTPGo 2.0.0

Fixes #197
This commit is contained in:
Nicola Murino
2021-01-17 22:29:08 +01:00
parent d42fcc3786
commit 778ec9b88f
82 changed files with 9302 additions and 5327 deletions

View File

@@ -980,7 +980,7 @@ func TestBasicUsersCache(t *testing.T) {
_, ok = dataprovider.GetCachedWebDAVUser(username)
assert.True(t, ok)
// cache is invalidated after user deletion
err = dataprovider.DeleteUser(&user)
err = dataprovider.DeleteUser(user.Username)
assert.NoError(t, err)
_, ok = dataprovider.GetCachedWebDAVUser(username)
assert.False(t, ok)
@@ -1164,13 +1164,13 @@ func TestUsersCacheSizeAndExpiration(t *testing.T) {
_, ok = dataprovider.GetCachedWebDAVUser(user4.Username)
assert.True(t, ok)
err = dataprovider.DeleteUser(&user1)
err = dataprovider.DeleteUser(user1.Username)
assert.NoError(t, err)
err = dataprovider.DeleteUser(&user2)
err = dataprovider.DeleteUser(user2.Username)
assert.NoError(t, err)
err = dataprovider.DeleteUser(&user3)
err = dataprovider.DeleteUser(user3.Username)
assert.NoError(t, err)
err = dataprovider.DeleteUser(&user4)
err = dataprovider.DeleteUser(user4.Username)
assert.NoError(t, err)
err = os.RemoveAll(u.GetHomeDir())