diff options
| author | Avi Levkovich <avi@twine-s.com> | 2019-10-30 17:55:39 +0200 |
|---|---|---|
| committer | Avi Levkovich <avi@twine-s.com> | 2019-10-30 17:55:39 +0200 |
| commit | 3e22430905c4c247672237a6d64425f3f958626e (patch) | |
| tree | a0fbf053a2ddf1fefc9f0ae3281fb06e70e5e52e /Software/Visual_Studio/Web/Tango.MachineService/Controllers/MachineStudioController.cs | |
| parent | cc657620eac3b626cf0790802c2a5ae3196c396b (diff) | |
| parent | 43113f6b264c8d334393c6116e1858eeec7ca5c6 (diff) | |
| download | Tango-3e22430905c4c247672237a6d64425f3f958626e.tar.gz Tango-3e22430905c4c247672237a6d64425f3f958626e.zip | |
Merge branch 'master' of https://twinetfs.visualstudio.com/_git/Tango
Diffstat (limited to 'Software/Visual_Studio/Web/Tango.MachineService/Controllers/MachineStudioController.cs')
| -rw-r--r-- | Software/Visual_Studio/Web/Tango.MachineService/Controllers/MachineStudioController.cs | 44 |
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 } } |
