Skip to content
This repository was archived by the owner on Dec 5, 2024. It is now read-only.

Case insensitive usernames #958

Merged
merged 2 commits into from
Nov 19, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/GitHub.Api/Application/ApiClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -255,7 +255,7 @@ private GitHubUser GetValidatedGitHubUser(Connection keychainConnection, IKeycha
{
var login = ret.Output[1];

if (login != keychainConnection.Username)
if (!string.Equals(login, keychainConnection.Username, StringComparison.InvariantCultureIgnoreCase))
{
logger.Trace("LoadKeychainInternal: Api username does not match");
throw new TokenUsernameMismatchException(keychainConnection.Username, login);
Expand Down
11 changes: 3 additions & 8 deletions src/GitHub.Api/Authentication/LoginManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ public LoginResultData Login(

if (loginResultData.Code == LoginResultCodes.Success)
{
username = RetrieveUsername(loginResultData, username);
username = RetrieveUsername();
keychainAdapter.Update(loginResultData.Token, username);
keychain.SaveToSystem(host);
}
Expand Down Expand Up @@ -113,7 +113,7 @@ public LoginResultData ContinueLogin(LoginResultData loginResultData, string two
}

keychainAdapter.Update(loginResultData.Token, username);
username = RetrieveUsername(loginResultData, username);
username = RetrieveUsername();
keychainAdapter.Update(loginResultData.Token, username);
keychain.SaveToSystem(host);

Expand Down Expand Up @@ -180,13 +180,8 @@ private LoginResultData TryLogin(
return new LoginResultData(LoginResultCodes.Failed, ret.GetApiErrorMessage() ?? "Failed.", host);
}

private string RetrieveUsername(LoginResultData loginResultData, string username)
private string RetrieveUsername()
{
if (!username.Contains("@"))
{
return username;
}

var octorunTask = new OctorunTask(taskManager.Token, keychain, environment, "validate")
.Configure(processManager);

Expand Down