Skip to content

Instantly share code, notes, and snippets.

View jpawlowski's full-sized avatar

Julian Pawlowski jpawlowski

View GitHub Profile
@jpawlowski
jpawlowski / PSFunction1_Test-HmacAuthorization.ps1
Last active March 16, 2026 13:37
Verify HMAC signature of incoming Azure Automation webhook requests.
function Test-HmacAuthorization {
<#
.SYNOPSIS
Verifies HMAC signature of incoming Azure Automation webhook requests.
.DESCRIPTION
Validates HMAC signature based on signed request headers (timestamp, nonce, content hash) and a shared secret.
Supports both HMACSHA256 and HMACSHA512 algorithms.
The shared secret is passed securely as a SecureString, converted as late as possible, and cleared from memory immediately after use.
@jpawlowski
jpawlowski / AzAutomationRunbook_New-TAP-for-Initial-MFA-Setup.ps1
Last active August 20, 2025 11:53
An Azure Automation Runbook that will help to generate new Temporary Access Pass codes for new employees in Microsoft Entra.
<#
.SYNOPSIS
Create a Temporary Access Pass code for new hires that have not set up any Authentication Methods so far
.DESCRIPTION
This script is intended to be run as an Azure Automation Runbook or as a standalone script.
Before generating a Temporary Access Pass, the script checks if the user has set up any Authentication Methods and has reached its hire date.
If the user has not set up any Authentication Methods, a Temporary Access Pass is created.
Depending on the configuration, the pass is output or sent to the user's manager via email.
@jpawlowski
jpawlowski / automation_tibber_api.yaml
Last active November 12, 2025 20:04
HASS Tibber Price Information & Rating
alias: tibber_api_timer
description: ""
triggers:
- trigger: time_pattern
hours: "0"
minutes: "0"
seconds: "5"
- trigger: time_pattern
hours: "0"
minutes: "1"
@jpawlowski
jpawlowski / etc_nginx_sites-available_pdns-api
Last active February 8, 2026 09:34
PowerDNS API Proxy configuration for NGINX, including API navigation via RapiDoc and API key management.
# /etc/nginx/sites-available/pdns-api
#
# `ln -s /etc/nginx/sites-available/pdns-api /etc/nginx/sites-enabled/pdns-api`
map_hash_bucket_size 128;
# --- MAPS GO HERE ---
map $http_x_api_key:$remote_addr $internal_pdns_key {
default "";
include /etc/powerdns/api-keys.map;