diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Identity/IIdentityService.cs b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Identity/IIdentityService.cs index cc3df9a4a..81a2df0da 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Identity/IIdentityService.cs +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Identity/IIdentityService.cs @@ -1,8 +1,12 @@ -namespace eShopOnContainers.Core.Services.Identity +using eShopOnContainers.Core.Models.Token; +using System.Threading.Tasks; + +namespace eShopOnContainers.Core.Services.Identity { public interface IIdentityService { string CreateAuthorizationRequest(); string CreateLogoutRequest(string token); + Task GetTokenAsync(string code); } } \ No newline at end of file diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Identity/IdentityService.cs b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Identity/IdentityService.cs index 1c20db5f3..74957db9d 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Identity/IdentityService.cs +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Identity/IdentityService.cs @@ -1,11 +1,22 @@ using IdentityModel.Client; using System; using System.Collections.Generic; +using System.Net; +using System.Threading.Tasks; +using eShopOnContainers.Core.Services.RequestProvider; +using eShopOnContainers.Core.Models.Token; namespace eShopOnContainers.Core.Services.Identity { public class IdentityService : IIdentityService { + private readonly IRequestProvider _requestProvider; + + public IdentityService(IRequestProvider requestProvider) + { + _requestProvider = requestProvider; + } + public string CreateAuthorizationRequest() { // Create URI to authorization endpoint @@ -40,5 +51,12 @@ namespace eShopOnContainers.Core.Services.Identity token, GlobalSetting.Instance.LogoutCallback); } + + public async Task GetTokenAsync(string code) + { + string data = string.Format("grant_type=authorization_code&code={0}&redirect_uri={1}", code, WebUtility.UrlEncode(GlobalSetting.Instance.IdentityCallback)); + var token = await _requestProvider.PostAsync(GlobalSetting.Instance.TokenEndpoint, data, GlobalSetting.Instance.ClientId, GlobalSetting.Instance.ClientSecret); + return token; + } } } diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Token/ITokenService.cs b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Token/ITokenService.cs deleted file mode 100644 index 4a7bb3a06..000000000 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Token/ITokenService.cs +++ /dev/null @@ -1,10 +0,0 @@ -using eShopOnContainers.Core.Models.Token; -using System.Threading.Tasks; - -namespace eShopOnContainers.Core.Services.Token -{ - public interface ITokenService - { - Task GetTokenAsync(string code); - } -} diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Token/TokenService.cs b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Token/TokenService.cs deleted file mode 100644 index 1b6bdddf9..000000000 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/Services/Token/TokenService.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System.Net; -using System.Threading.Tasks; -using eShopOnContainers.Core.Services.RequestProvider; -using eShopOnContainers.Core.Models.Token; - -namespace eShopOnContainers.Core.Services.Token -{ - public class TokenService : ITokenService - { - private readonly IRequestProvider _requestProvider; - - public TokenService(IRequestProvider requestProvider) - { - _requestProvider = requestProvider; - } - - public async Task GetTokenAsync(string code) - { - string data = string.Format("grant_type=authorization_code&code={0}&redirect_uri={1}", code, WebUtility.UrlEncode(GlobalSetting.Instance.IdentityCallback)); - var token = await _requestProvider.PostAsync(GlobalSetting.Instance.TokenEndpoint, data, GlobalSetting.Instance.ClientId, GlobalSetting.Instance.ClientSecret); - return token; - } - } -} diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/Base/ViewModelLocator.cs b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/Base/ViewModelLocator.cs index 9fc2ada5d..3eda91b42 100755 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/Base/ViewModelLocator.cs +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/Base/ViewModelLocator.cs @@ -8,7 +8,6 @@ using eShopOnContainers.Core.Services.OpenUrl; using eShopOnContainers.Core.Services.RequestProvider; using eShopOnContainers.Core.Services.Basket; using eShopOnContainers.Core.Services.Identity; -using eShopOnContainers.Core.Services.Token; using eShopOnContainers.Core.Services.Order; using eShopOnContainers.Core.Services.User; using Xamarin.Forms; @@ -54,7 +53,6 @@ namespace eShopOnContainers.Core.ViewModels.Base builder.RegisterType().As(); builder.RegisterType().As(); builder.RegisterType().As(); - builder.RegisterType().As(); builder.RegisterType().As(); builder.RegisterType().As().SingleInstance(); diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/LoginViewModel.cs b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/LoginViewModel.cs index 4d206d41f..ce525de5d 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/LoginViewModel.cs +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/ViewModels/LoginViewModel.cs @@ -1,7 +1,6 @@ using eShopOnContainers.Core.Helpers; using eShopOnContainers.Core.Models.User; using eShopOnContainers.Core.Services.Identity; -using eShopOnContainers.Core.Services.Token; using eShopOnContainers.Core.Services.OpenUrl; using eShopOnContainers.Core.Validations; using eShopOnContainers.Core.ViewModels.Base; @@ -25,16 +24,13 @@ namespace eShopOnContainers.Core.ViewModels private IOpenUrlService _openUrlService; private IIdentityService _identityService; - private ITokenService _tokenService; public LoginViewModel( IOpenUrlService openUrlService, - IIdentityService identityService, - ITokenService tokenService) + IIdentityService identityService) { _openUrlService = openUrlService; _identityService = identityService; - _tokenService = tokenService; _userName = new ValidatableObject(); _password = new ValidatableObject(); @@ -238,7 +234,7 @@ namespace eShopOnContainers.Core.ViewModels var authResponse = new AuthorizeResponse(url); if (!string.IsNullOrWhiteSpace(authResponse.Code)) { - var userToken = await _tokenService.GetTokenAsync(authResponse.Code); + var userToken = await _identityService.GetTokenAsync(authResponse.Code); string accessToken = userToken.AccessToken; if (!string.IsNullOrWhiteSpace(accessToken)) diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/eShopOnContainers.Core.csproj b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/eShopOnContainers.Core.csproj index 7ceb63feb..fe3165378 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Core/eShopOnContainers.Core.csproj +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Core/eShopOnContainers.Core.csproj @@ -170,8 +170,6 @@ - - @@ -267,7 +265,6 @@ -