1
0
mirror of https://github.com/bitwarden/directory-connector synced 2025-12-10 05:13:17 +00:00

settings fixes

This commit is contained in:
Kyle Spearrin
2017-05-16 21:41:21 -04:00
parent 7189703841
commit 4d987437da
5 changed files with 23 additions and 45 deletions

View File

@@ -21,9 +21,6 @@ namespace Bit.Console
static void Main(string[] args) static void Main(string[] args)
{ {
Directory.SetCurrentDirectory(AppDomain.CurrentDomain.BaseDirectory);
//SetDebugDirectory();
MainAsync(args).Wait(); MainAsync(args).Wait();
} }
@@ -184,6 +181,8 @@ namespace Bit.Console
return; return;
} }
Con.WriteLine();
Con.WriteLine("Logging in...");
LoginResult result = null; LoginResult result = null;
if(string.IsNullOrWhiteSpace(token)) if(string.IsNullOrWhiteSpace(token))
{ {
@@ -895,13 +894,5 @@ namespace Bit.Console
return dict; return dict;
} }
[Conditional("DEBUG")]
private static void SetDebugDirectory()
{
Directory.SetCurrentDirectory(string.Concat(
Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
"\\bitwarden\\DirectoryConnector"));
}
} }
} }

View File

@@ -16,21 +16,7 @@ namespace Bit.Core.Services
private ApiService() private ApiService()
{ {
ApiClient = new HttpClient(); Client = new HttpClient();
var apiUrl = "https://api.bitwarden.com";
if(!string.IsNullOrWhiteSpace(SettingsService.Instance.ApiBaseUrl))
{
apiUrl = SettingsService.Instance.ApiBaseUrl;
}
ApiClient.BaseAddress = new Uri(apiUrl);
IdentityClient = new HttpClient();
var identityUrl = "https://identity.bitwarden.com";
if(!string.IsNullOrWhiteSpace(SettingsService.Instance.IdentityBaseUrl))
{
identityUrl = SettingsService.Instance.IdentityBaseUrl;
}
IdentityClient.BaseAddress = new Uri(identityUrl);
} }
public static ApiService Instance public static ApiService Instance
@@ -46,21 +32,20 @@ namespace Bit.Core.Services
} }
} }
protected HttpClient ApiClient { get; private set; } protected HttpClient Client { get; private set; }
protected HttpClient IdentityClient { get; private set; }
public virtual async Task<ApiResult<TokenResponse>> PostTokenAsync(TokenRequest requestObj) public virtual async Task<ApiResult<TokenResponse>> PostTokenAsync(TokenRequest requestObj)
{ {
var requestMessage = new HttpRequestMessage var requestMessage = new HttpRequestMessage
{ {
Method = HttpMethod.Post, Method = HttpMethod.Post,
RequestUri = new Uri(IdentityClient.BaseAddress, "connect/token"), RequestUri = new Uri(string.Concat(SettingsService.Instance.IdentityBaseUrl, "/connect/token")),
Content = new FormUrlEncodedContent(requestObj.ToIdentityTokenRequest()) Content = new FormUrlEncodedContent(requestObj.ToIdentityTokenRequest())
}; };
try try
{ {
var response = await IdentityClient.SendAsync(requestMessage).ConfigureAwait(false); var response = await Client.SendAsync(requestMessage).ConfigureAwait(false);
var responseContent = await response.Content.ReadAsStringAsync().ConfigureAwait(false); var responseContent = await response.Content.ReadAsStringAsync().ConfigureAwait(false);
if(!response.IsSuccessStatusCode) if(!response.IsSuccessStatusCode)
@@ -98,7 +83,8 @@ namespace Bit.Core.Services
var requestMessage = new HttpRequestMessage var requestMessage = new HttpRequestMessage
{ {
Method = HttpMethod.Post, Method = HttpMethod.Post,
RequestUri = new Uri(ApiClient.BaseAddress, $"organizations/{SettingsService.Instance.Organization.Id}/import"), RequestUri = new Uri(string.Concat(SettingsService.Instance.ApiBaseUrl, "/organizations/",
SettingsService.Instance.Organization.Id, "/import")),
Content = new StringContent(stringContent, Encoding.UTF8, "application/json"), Content = new StringContent(stringContent, Encoding.UTF8, "application/json"),
}; };
@@ -106,7 +92,7 @@ namespace Bit.Core.Services
try try
{ {
var response = await ApiClient.SendAsync(requestMessage).ConfigureAwait(false); var response = await Client.SendAsync(requestMessage).ConfigureAwait(false);
if(!response.IsSuccessStatusCode) if(!response.IsSuccessStatusCode)
{ {
return await HandleErrorAsync(response).ConfigureAwait(false); return await HandleErrorAsync(response).ConfigureAwait(false);
@@ -131,14 +117,14 @@ namespace Bit.Core.Services
var requestMessage = new HttpRequestMessage() var requestMessage = new HttpRequestMessage()
{ {
Method = HttpMethod.Get, Method = HttpMethod.Get,
RequestUri = new Uri(ApiClient.BaseAddress, "accounts/profile"), RequestUri = new Uri(string.Concat(SettingsService.Instance.ApiBaseUrl, "/accounts/profile")),
}; };
requestMessage.Headers.Add("Authorization", $"Bearer3 {TokenService.Instance.AccessToken}"); requestMessage.Headers.Add("Authorization", $"Bearer3 {TokenService.Instance.AccessToken}");
try try
{ {
var response = await ApiClient.SendAsync(requestMessage).ConfigureAwait(false); var response = await Client.SendAsync(requestMessage).ConfigureAwait(false);
if(!response.IsSuccessStatusCode) if(!response.IsSuccessStatusCode)
{ {
return await HandleErrorAsync<ProfileResponse>(response).ConfigureAwait(false); return await HandleErrorAsync<ProfileResponse>(response).ConfigureAwait(false);
@@ -190,8 +176,9 @@ namespace Bit.Core.Services
var requestMessage = new HttpRequestMessage var requestMessage = new HttpRequestMessage
{ {
Method = HttpMethod.Post, Method = HttpMethod.Post,
RequestUri = new Uri(IdentityClient.BaseAddress, "connect/token"), RequestUri = new Uri(string.Concat(SettingsService.Instance.IdentityBaseUrl, "/connect/token")),
Content = new FormUrlEncodedContent(new Dictionary<string, string> Content = new FormUrlEncodedContent(
new Dictionary<string, string>
{ {
{ "grant_type", "refresh_token" }, { "grant_type", "refresh_token" },
{ "client_id", "mobile" }, { "client_id", "mobile" },
@@ -201,7 +188,7 @@ namespace Bit.Core.Services
try try
{ {
var response = await IdentityClient.SendAsync(requestMessage).ConfigureAwait(false); var response = await Client.SendAsync(requestMessage).ConfigureAwait(false);
if(!response.IsSuccessStatusCode) if(!response.IsSuccessStatusCode)
{ {
if(response.StatusCode == HttpStatusCode.BadRequest) if(response.StatusCode == HttpStatusCode.BadRequest)

View File

@@ -14,7 +14,9 @@ namespace Bit.Core.Services
{ {
private static SettingsService _instance; private static SettingsService _instance;
private static object _locker = new object(); private static object _locker = new object();
private static string _baseStoragePath = Directory.GetCurrentDirectory(); private static string _baseStoragePath = string.Concat(
Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData),
"\\bitwarden\\Directory Connector");
private SettingsModel _settings; private SettingsModel _settings;
@@ -222,9 +224,9 @@ namespace Bit.Core.Services
public string IdentityBaseUrl { get; set; } = "https://identity.bitwarden.com"; public string IdentityBaseUrl { get; set; } = "https://identity.bitwarden.com";
public EncryptedData AccessToken { get; set; } public EncryptedData AccessToken { get; set; }
public EncryptedData RefreshToken { get; set; } public EncryptedData RefreshToken { get; set; }
public ServerConfiguration Server { get; set; } public ServerConfiguration Server { get; set; } = new ServerConfiguration();
public SyncConfiguration Sync { get; set; } public SyncConfiguration Sync { get; set; } = new SyncConfiguration(Enums.DirectoryType.ActiveDirectory);
public Organization Organization { get; set; } public Organization Organization { get; set; } = new Organization();
public DateTime? LastGroupSyncDate { get; set; } public DateTime? LastGroupSyncDate { get; set; }
public DateTime? LastUserSyncDate { get; set; } public DateTime? LastUserSyncDate { get; set; }
public string GroupDeltaToken { get; set; } public string GroupDeltaToken { get; set; }

View File

@@ -12,7 +12,7 @@ namespace Service
{ {
static void Main() static void Main()
{ {
DebugMode(); //DebugMode();
ServiceBase.Run(new ServiceBase[] ServiceBase.Run(new ServiceBase[]
{ {
@@ -23,7 +23,7 @@ namespace Service
[Conditional("DEBUG")] [Conditional("DEBUG")]
private static void DebugMode() private static void DebugMode()
{ {
//Debugger.Launch(); Debugger.Launch();
} }
} }
} }

View File

@@ -22,8 +22,6 @@ namespace Service
public Service() public Service()
{ {
Directory.SetCurrentDirectory(AppDomain.CurrentDomain.BaseDirectory);
ServiceName = "bitwarden Directory Connector"; ServiceName = "bitwarden Directory Connector";
_components = new Container(); _components = new Container();