Feature/flavour in subsonic token (#83)

* Add type of subsonic clone to serviceToken so can specialise client for navidrome

* Ability to add bearer token to subsonic credentials for flavours of subsonic
This commit is contained in:
Simon J
2021-12-03 13:17:03 +11:00
committed by GitHub
parent 8a0140b728
commit 075538f029
5 changed files with 110 additions and 21 deletions

View File

@@ -96,26 +96,26 @@ describe("auth", () => {
it("should return an error", () => {
const authToken = uuid();
const v1SmapiTokens = new JWTSmapiLoginTokens(
const vXSmapiTokens = new JWTSmapiLoginTokens(
clock,
secret,
expiresIn,
() => uuid(),
"1"
SMAPI_TOKEN_VERSION
);
const v2SmapiTokens = new JWTSmapiLoginTokens(
const vXPlus1SmapiTokens = new JWTSmapiLoginTokens(
clock,
secret,
expiresIn,
() => uuid(),
"2"
SMAPI_TOKEN_VERSION + 1
);
const v1Token = v1SmapiTokens.issue(authToken);
expect(v1SmapiTokens.verify(v1Token)).toEqual(E.right(authToken));
const v1Token = vXSmapiTokens.issue(authToken);
expect(vXSmapiTokens.verify(v1Token)).toEqual(E.right(authToken));
const result = v2SmapiTokens.verify(v1Token);
const result = vXPlus1SmapiTokens.verify(v1Token);
expect(result).toEqual(
E.left(new InvalidTokenError("invalid signature"))
);