Added API token functionality

This commit is contained in:
2024-12-21 16:09:55 +01:00
parent c087dbdf2b
commit ba46147a74
17 changed files with 118 additions and 55 deletions

View File

@@ -61,7 +61,7 @@ public class AuthMiddlewareTests {
public async Task InvokeAsync_With_InvalidLoginValidToken_Should_Succeed() {
// Arrange
var token = new Token {
Content = Guid.NewGuid(),
TokenId = Guid.NewGuid(),
CreatedAt = DateTime.Now,
Type = Token.AccessTokenType,
Owner = CreateDummyUser()
@@ -74,7 +74,7 @@ public class AuthMiddlewareTests {
// Assert
Assert.Equal(token.Owner.Id.ToString(), context.User.FindFirstValue(HopFrameClaimTypes.UserId));
Assert.Equal(token.Content.ToString(), context.User.FindFirstValue(HopFrameClaimTypes.AccessTokenId));
Assert.Equal(token.TokenId.ToString(), context.User.FindFirstValue(HopFrameClaimTypes.AccessTokenId));
Assert.Equal(token.Owner.Permissions.First().PermissionName, context.User.FindFirstValue(HopFrameClaimTypes.Permission));
}

View File

@@ -47,13 +47,13 @@ public class AuthServiceTests {
tokens
.Setup(t => t.CreateToken(It.Is<int>(t => t == Token.RefreshTokenType), It.IsAny<User>()))
.ReturnsAsync(new Token {
Content = _refreshToken,
TokenId = _refreshToken,
Type = Token.RefreshTokenType
});
tokens
.Setup(t => t.CreateToken(It.Is<int>(t => t == Token.AccessTokenType), It.IsAny<User>()))
.ReturnsAsync(new Token {
Content = _accessToken,
TokenId = _accessToken,
Type = Token.AccessTokenType
});
tokens
@@ -171,18 +171,18 @@ public class AuthServiceTests {
// Arrange
var token = new Token {
Type = Token.RefreshTokenType,
Content = _refreshToken,
TokenId = _refreshToken,
CreatedAt = DateTime.Now,
Owner = CreateDummyUser()
};
var (service, context) = SetupEnvironment(true, token, token.Content.ToString());
var (service, context) = SetupEnvironment(true, token, token.TokenId.ToString());
// Act
var result = await service.RefreshLogin();
// Assert
Assert.NotNull(result);
Assert.Equal(_accessToken, result.Content);
Assert.Equal(_accessToken, result.TokenId);
Assert.Equal(_accessToken.ToString(), context.Response.Headers.FindCookie(ITokenContext.AccessTokenType));
}
@@ -217,11 +217,11 @@ public class AuthServiceTests {
// Arrange
var token = new Token {
Type = Token.AccessTokenType,
Content = _refreshToken,
TokenId = _refreshToken,
CreatedAt = DateTime.Now,
Owner = CreateDummyUser()
};
var (service, context) = SetupEnvironment(true, token, token.Content.ToString());
var (service, context) = SetupEnvironment(true, token, token.TokenId.ToString());
// Act
var result = await service.RefreshLogin();
@@ -236,11 +236,11 @@ public class AuthServiceTests {
// Arrange
var token = new Token {
Type = Token.RefreshTokenType,
Content = _refreshToken,
TokenId = _refreshToken,
CreatedAt = DateTime.MinValue,
Owner = CreateDummyUser()
};
var (service, context) = SetupEnvironment(true, token, token.Content.ToString());
var (service, context) = SetupEnvironment(true, token, token.TokenId.ToString());
// Act
var result = await service.RefreshLogin();
@@ -255,7 +255,7 @@ public class AuthServiceTests {
// Arrange
var token = new Token {
Type = Token.AccessTokenType,
Content = _accessToken,
TokenId = _accessToken,
CreatedAt = DateTime.Now,
Owner = CreateDummyUser()
};
@@ -285,7 +285,7 @@ public class AuthServiceTests {
// Arrange
var token = new Token {
Type = Token.RefreshTokenType,
Content = _accessToken,
TokenId = _accessToken,
CreatedAt = DateTime.Now,
Owner = CreateDummyUser()
};
@@ -303,7 +303,7 @@ public class AuthServiceTests {
// Arrange
var token = new Token {
Type = Token.AccessTokenType,
Content = _accessToken,
TokenId = _accessToken,
CreatedAt = DateTime.MinValue,
Owner = CreateDummyUser()
};
@@ -321,7 +321,7 @@ public class AuthServiceTests {
// Arrange
var token = new Token {
Type = Token.AccessTokenType,
Content = _accessToken,
TokenId = _accessToken,
CreatedAt = DateTime.Now,
Owner = null
};