diff --git a/UiPath.PowerShell/Cmdlets/GetAuthToken.cs b/UiPath.PowerShell/Cmdlets/GetAuthToken.cs index f378e69..e1d3f2f 100644 --- a/UiPath.PowerShell/Cmdlets/GetAuthToken.cs +++ b/UiPath.PowerShell/Cmdlets/GetAuthToken.cs @@ -68,39 +68,46 @@ public class GetAuthToken: UiPathCmdlet protected override void ProcessRecord() { - try + AuthToken authToken = null; + if (ParameterSetName == UserPasswordSet) { - AuthToken authToken = null; - if (ParameterSetName == UserPasswordSet) - { - authToken = GetUserToken(); - } - else if (ParameterSetName == WindowsCredentialsSet) - { - authToken = GetWindowsToken(); - } - else if (ParameterSetName == UnauthenticatedSet) - { - authToken = GetUnauthenticatedToken(); - } + authToken = GetUserToken(); + } + else if (ParameterSetName == WindowsCredentialsSet) + { + authToken = GetWindowsToken(); + } + else if (ParameterSetName == UnauthenticatedSet) + { + authToken = GetUnauthenticatedToken(); + } - GetServerVersion(authToken); + GetServerVersion(authToken); - if (!String.IsNullOrWhiteSpace(OrganizationUnit)) - { - SetOrganizationUnit(authToken, OrganizationUnit); - } + if (!String.IsNullOrWhiteSpace(OrganizationUnit)) + { + SetOrganizationUnit(authToken, OrganizationUnit); + } - if (Session.IsPresent) - { - AuthenticatedCmdlet.SetAuthToken(authToken); - } + GetCurrentUser(authToken); - WriteObject(authToken); + if (Session.IsPresent) + { + AuthenticatedCmdlet.SetAuthToken(authToken); } - catch(Exception e) + + WriteObject(authToken); + } + + private void GetCurrentUser(AuthToken authToken) + { + using (var api = AuthenticatedCmdlet.MakeApi(authToken)) { - WriteVerbose(e.ToString()); + var permissions = api.Users.GetCurrentPermissions()?.Permissions; + authToken.Permissions = permissions?.ToArray(); + + var user = api.Users.GetCurrentUser(); + authToken.UserName = user.UserName; } } @@ -166,7 +173,8 @@ private AuthToken GetWindowsToken() { URL = URL, WindowsCredentials = true, - Authenticated = true + Authenticated = true, + Token = "Windows authentication does not use bearer token" }; } diff --git a/UiPath.PowerShell/Models/AuthToken.cs b/UiPath.PowerShell/Models/AuthToken.cs index 07338bb..a034bee 100644 --- a/UiPath.PowerShell/Models/AuthToken.cs +++ b/UiPath.PowerShell/Models/AuthToken.cs @@ -20,6 +20,10 @@ public class AuthToken public string OrganizationUnit { get; internal set; } + public string UserName { get; internal set; } + + public string[] Permissions { get; internal set; } + internal long? OrganizationUnitId { get; set; } } }