aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Web/Tango.MachineService/Controllers/MachineStudioController.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/Web/Tango.MachineService/Controllers/MachineStudioController.cs')
-rw-r--r--Software/Visual_Studio/Web/Tango.MachineService/Controllers/MachineStudioController.cs26
1 files changed, 16 insertions, 10 deletions
diff --git a/Software/Visual_Studio/Web/Tango.MachineService/Controllers/MachineStudioController.cs b/Software/Visual_Studio/Web/Tango.MachineService/Controllers/MachineStudioController.cs
index 054c8d781..467b6ae28 100644
--- a/Software/Visual_Studio/Web/Tango.MachineService/Controllers/MachineStudioController.cs
+++ b/Software/Visual_Studio/Web/Tango.MachineService/Controllers/MachineStudioController.cs
@@ -24,12 +24,15 @@ using Tango.MachineService.Filters;
namespace Tango.MachineService.Controllers
{
- public class MachineStudioController : JsonController
+ public class MachineStudioController : TangoController<MachineStudioController.TokenObject>
{
private static List<MachineStudioPendingUpload> _pendingUploads;
private ActiveDirectoryManager _ad_manager;
- public static TokensManager<String> TokensManager { get; set; }
+ public class TokenObject
+ {
+ public String UserGuid { get; set; }
+ }
#region Constructors
@@ -38,8 +41,6 @@ namespace Tango.MachineService.Controllers
/// </summary>
static MachineStudioController()
{
- TokensManager = new TokensManager<string>();
- TokensManager.ExpirationTime = TimeSpan.FromDays(10);
_pendingUploads = new List<MachineStudioPendingUpload>();
}
@@ -61,11 +62,13 @@ namespace Tango.MachineService.Controllers
/// <param name="request">The request.</param>
/// <returns></returns>
[HttpPost]
- [MachineStudioLoginFilter]
+ [JwtTokenFilter]
public CheckForUpdatesResponse CheckForUpdates(CheckForUpdatesRequest request)
{
LogManager.Log("Request received...");
+ var userID = RequestToken.Object.UserGuid;
+
CheckForUpdatesResponse response = new CheckForUpdatesResponse();
using (ObservablesContext db = ObservablesContextHelper.CreateContext())
@@ -103,7 +106,7 @@ namespace Tango.MachineService.Controllers
/// <param name="request">The request.</param>
/// <returns></returns>
[HttpPost]
- [MachineStudioLoginFilter]
+ [JwtTokenFilter]
public DownloadLatestVersionResponse DownloadLatestVersion(DownloadLatestVersionRequest request)
{
LogManager.Log("Request received...");
@@ -138,14 +141,14 @@ namespace Tango.MachineService.Controllers
/// <exception cref="System.ArgumentException">New version must be greater than latest version.</exception>
/// <exception cref="AuthenticationException">Invalid user credentials.</exception>
[HttpPost]
- [MachineStudioLoginFilter]
+ [JwtTokenFilter]
public UploadVersionResponse UploadVersion(UploadVersionRequest request)
{
UploadVersionResponse response = new UploadVersionResponse();
using (ObservablesContext db = ObservablesContextHelper.CreateContext())
{
- String userID = TokensManager.GetTokenObject(request.AccessToken);
+ String userID = RequestToken.Object.UserGuid;
var user = new UserBuilder(db).Set(userID).WithRolesAndPermissions().Build();
@@ -195,7 +198,7 @@ namespace Tango.MachineService.Controllers
/// <returns></returns>
/// <exception cref="System.ArgumentException">Invalid Token.</exception>
[HttpPost]
- [MachineStudioLoginFilter]
+ [JwtTokenFilter]
public UploadCompletedResponse NotifyUploadCompleted(UploadCompletedRequest request)
{
MachineStudioPendingUpload upload = _pendingUploads.FirstOrDefault(x => x.Token == request.Token);
@@ -347,7 +350,10 @@ namespace Tango.MachineService.Controllers
Password = request.Password,
},
- WebToken = TokensManager.GetOrCreate(user.Guid),
+ AccessToken = WebToken<TokenObject>.CreateNew(MachineServiceConfig.JWT_TOKEN_SECRET, new TokenObject()
+ {
+ UserGuid = user.Guid,
+ }, DateTime.UtcNow.AddDays(1)).AccessToken,
VersionChangeRequired = versionChangeRequired,
RequiredVersion = requiredVersion,
};