aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Web/Tango.MachineService/Controllers/MachineStudioController.cs
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2019-10-16 17:31:51 +0300
committerRoy Ben-Shabat <Roy@Twine-s.com>2019-10-16 17:31:51 +0300
commit4954a924b8a5b8fd7a213a444027e74b936359be (patch)
treed91859a5fadf3d21b7fca106a000b30365f78a1b /Software/Visual_Studio/Web/Tango.MachineService/Controllers/MachineStudioController.cs
parent583d3716e37a9be80c8bb248215f343ed4fcd2d1 (diff)
downloadTango-4954a924b8a5b8fd7a213a444027e74b936359be.tar.gz
Tango-4954a924b8a5b8fd7a213a444027e74b936359be.zip
Added support for token authentication from MS to DB.
Diffstat (limited to 'Software/Visual_Studio/Web/Tango.MachineService/Controllers/MachineStudioController.cs')
-rw-r--r--Software/Visual_Studio/Web/Tango.MachineService/Controllers/MachineStudioController.cs44
1 files changed, 41 insertions, 3 deletions
diff --git a/Software/Visual_Studio/Web/Tango.MachineService/Controllers/MachineStudioController.cs b/Software/Visual_Studio/Web/Tango.MachineService/Controllers/MachineStudioController.cs
index b718887af..dd8401570 100644
--- a/Software/Visual_Studio/Web/Tango.MachineService/Controllers/MachineStudioController.cs
+++ b/Software/Visual_Studio/Web/Tango.MachineService/Controllers/MachineStudioController.cs
@@ -22,6 +22,7 @@ using Tango.Web.Security;
using Tango.Web.ActiveDirectory;
using Tango.MachineService.Filters;
using Tango.MachineService.Security;
+using Tango.Web.SQLServer;
namespace Tango.MachineService.Controllers
{
@@ -356,9 +357,26 @@ namespace Tango.MachineService.Controllers
}
}
- return new LoginResponse()
+ Core.DataSource dataSource = null;
+
+ if (MachineServiceConfig.USE_DB_ACCESS_TOKENS)
{
- DataSource = new Core.DataSource()
+ SQLServerManager sqlServer = new SQLServerManager();
+ var accessToken = sqlServer.GetAccessToken();
+
+ dataSource = new Core.DataSource()
+ {
+ Address = MachineServiceConfig.DB_ADDRESS,
+ Catalog = MachineServiceConfig.DB_CATALOG,
+ Type = Core.DataSourceType.AccessToken,
+ IntegratedSecurity = false,
+ AccessToken = accessToken.AccessToken,
+ AccessTokenExpiration = accessToken.ExpiresOn.UtcDateTime
+ };
+ }
+ else
+ {
+ dataSource = new Core.DataSource()
{
Address = MachineServiceConfig.DB_ADDRESS,
Catalog = MachineServiceConfig.DB_CATALOG,
@@ -366,8 +384,12 @@ namespace Tango.MachineService.Controllers
IntegratedSecurity = false,
UserName = request.Email,
Password = request.Password,
- },
+ };
+ }
+ return new LoginResponse()
+ {
+ DataSource = dataSource,
AccessToken = WebToken<TokenObject>.CreateNew(MachineServiceConfig.JWT_TOKEN_SECRET, new TokenObject()
{
UserGuid = user.Guid,
@@ -377,6 +399,22 @@ namespace Tango.MachineService.Controllers
};
}
+ [JwtTokenFilter]
+ public RefreshTokenResponse RefreshToken(RefreshTokenRequest request)
+ {
+ SQLServerManager sqlServer = new SQLServerManager();
+ var accessToken = sqlServer.GetAccessToken();
+
+ //TokenManager tokenManager = new TokenManager();
+ //tokenManager.UpdateToken(request.AccessToken, accessToken.AccessToken, accessToken.ExpiresOn.UtcDateTime);
+
+ return new RefreshTokenResponse()
+ {
+ AccessToken = accessToken.AccessToken,
+ Expiration = accessToken.ExpiresOn.UtcDateTime,
+ };
+ }
+
#endregion
}
}