You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am using Powershell Version 7.3.4 and encountered a problem when using the authentication with a PersonalAccessToken. First of all the function for invoking the webrequest does not have a parameter called "PersonalAccessToken" so it already fails there when providing the API Token e.g. to the Get-ConfluencePage function with the named parameter "-PersonalAccessToken". Additionally a webrequest implementing token access should use the standard "Token" header and save the token in there as SecureString.
Steps To Reproduce
Using a powershell version of at least 6 and the latest compiled ConfluencePS module, then:
As my token is valid and I have the correct permissions for accessing this page (tested it manually with a Postman call to the REST endpoint), it should return the page content.
Problem
It is returning nothing, but throwing an error.
Your Environment
I compiled the latest source code of ConfluencePS on my own and imported that.
$PSVersionTable
Name Value
---- -----
PSVersion 7.3.4
PSEdition Core
GitCommitId 7.3.4
OS Microsoft Windows 10.0.19045
Platform Win32NT
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0
Possible Solution
Get-ConfluencePage calls the Invoke-Method function which invokes a WebRequest (see Invoke-Method:130). This is calling the second version of the Invoke-WebRequest function as I use Powershell 7.3.4 (see Invoke-WebRequest:174). But it calls this method with the parameter "PersonalAccessToken" which is not defined for this function.
After quickly fixing the first issue (just adding the parameter to the function declaration) the call of the Microsoft Invoke-Webrequest does not work as this also is not expecting a parameter with name "PersonalAccessToken". But just appending the token to the Authentication header ("Authentication"->"Bearer API_TOKEN") and deleting the parameter from the ones given to the Microsoft Web-Request won't work because in the newer versions the web request is expecting the Token as SecureString in the "Token" header. So the parameter "PersonalAccessToken" has to be transformed into a secure string (maybe also changing it to a secure string in all functions for security reasons) and then set as the parameter "Token". Then it needs to be removed from the parameter list and then everything works (see Invoke-WebRequest:308).
The text was updated successfully, but these errors were encountered:
Description
I am using Powershell Version 7.3.4 and encountered a problem when using the authentication with a PersonalAccessToken. First of all the function for invoking the webrequest does not have a parameter called "PersonalAccessToken" so it already fails there when providing the API Token e.g. to the Get-ConfluencePage function with the named parameter "-PersonalAccessToken". Additionally a webrequest implementing token access should use the standard "Token" header and save the token in there as SecureString.
Steps To Reproduce
Using a powershell version of at least 6 and the latest compiled ConfluencePS module, then:
Expected behavior
As my token is valid and I have the correct permissions for accessing this page (tested it manually with a Postman call to the REST endpoint), it should return the page content.
Problem
It is returning nothing, but throwing an error.
Your Environment
I compiled the latest source code of ConfluencePS on my own and imported that.
$PSVersionTable
Possible Solution
The text was updated successfully, but these errors were encountered: