Protect-KrJWT
SYNOPSIS
Protects a JWT token using a specified secret or certificate.
SYNTAX
SecretBase64Url (Default)
Protect-KrJWT -Builder <JwtTokenBuilder> -Base64Url <String> [-Algorithm <String>] [<CommonParameters>]
SecretHexadecimalKey
Protect-KrJWT -Builder <JwtTokenBuilder> -HexadecimalKey <String> [-Algorithm <String>] [<CommonParameters>]
SecretPassphrase
Protect-KrJWT -Builder <JwtTokenBuilder> -Passphrase <SecureString> [-Algorithm <String>] [<CommonParameters>]
PemPath
Protect-KrJWT -Builder <JwtTokenBuilder> -PemPath <String> [-Algorithm <String>] [<CommonParameters>]
Certificate
Protect-KrJWT -Builder <JwtTokenBuilder> -X509Certificate <X509Certificate2> [-Algorithm <String>]
[<CommonParameters>]
DESCRIPTION
This function allows you to sign a JWT token with a secret or certificate, ensuring its integrity and authenticity.
EXAMPLES
EXAMPLE 1
$builder = New-KrJWTTokenBuilder | Protect-KrJWT -Base64Url "your_base64_url_secret"
$builder | Protect-KrJWT -HexadecimalKey "a1b2c3d4e5f6"
$builder | Protect-KrJWT -Passphrase (ConvertTo-SecureString "mysecret" -AsPlainText -Force)
$builder | Protect-KrJWT -PemPath "C:\path\to\key.pem"
$builder | Protect-KrJWT -Certificate (Get-Item "C:\path\to\certificate.pfx")
This example demonstrates how to create a JWT token builder and apply various signing methods.
PARAMETERS
-Builder
The JWT token builder to modify.
Type: JwtTokenBuilder
Parameter Sets: (All)
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: True (ByValue)
Accept wildcard characters: False
-Base64Url
The Base64Url encoded secret to use for signing the JWT token.
Type: String
Parameter Sets: SecretBase64Url
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-HexadecimalKey
The hexadecimal key to use for signing the JWT token.
Type: String
Parameter Sets: SecretHexadecimalKey
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Passphrase
The passphrase to use for signing the JWT token, provided as a secure string.
Type: SecureString
Parameter Sets: SecretPassphrase
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-PemPath
The path to a PEM file containing the RSA key to use for signing the JWT token.
Type: String
Parameter Sets: PemPath
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-X509Certificate
The X509 certificate to use for signing the JWT token.
Type: X509Certificate2
Parameter Sets: Certificate
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Algorithm
The algorithm to use for signing the JWT token. Defaults to ‘Auto’ which will determine the algorithm based on the provided secret or certificate.
Type: String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: Auto
Accept pipeline input: False
Accept wildcard characters: False
CommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.
INPUTS
OUTPUTS
[Kestrun.Jwt.JwtTokenBuilder]
The modified JWT token builder with the signing configuration applied.
NOTES
This function is part of the Kestrun.Jwt module and is used to build JWT tokens Maps to JwtTokenBuilder.SignWithSecret, JwtTokenBuilder.SignWithSecretHex, JwtTokenBuilder.SignWithSecretPassphrase, JwtTokenBuilder.SignWithRsaPem, and JwtTokenBuilder.SignWithCertificate methods.