Pode icon indicating copy to clipboard operation
Pode copied to clipboard

Azure AD login example script not working

Open mkht opened this issue 1 year ago • 1 comments

I am trying to use Entra ID (formerly known as Azure AD) to log in to Pode.Web page.

I have referred to the Pode documentation and carefully followed the PKCE instructions to register my app. I specified http://localhost:8090/oauth2/callback as the redirect URL. https://badgerati.github.io/Pode/Tutorials/Authentication/Inbuilt/AzureAD/#pkce

Next, I execute login-azure-ad.ps1 in the Pode.Web example directory. I changed only $clientId and $tenantId values. Nothing else has been changed. https://github.com/Badgerati/Pode.Web/blob/fb774fb73b8c0bafbbe25bf0cc011c52b488016a/examples/login-azure-ad.ps1

Now, when I access the page with a web browser, the Entra ID sign-in screen appears, and after sign in, the 401 error page appears.

Am I doing something wrong?

I'm using

  • Windows 11
  • PowerShell 7.4.2
  • Pode 2.10.1
  • Pode.Web 1.0.0-preview1

401

mkht avatar Jun 03 '24 15:06 mkht

It looks like you will need to add CORS middleware:

# Add CORS middleware
    Use-PodeMiddleware -Name 'CORS' -ScriptBlock {
        param($context)

        $context.Response.Headers['Access-Control-Allow-Origin'] = '*'
        $context.Response.Headers['Access-Control-Allow-Methods'] = 'GET, POST, PUT, DELETE, OPTIONS'
        $context.Response.Headers['Access-Control-Allow-Headers'] = 'Content-Type, Authorization'
        
        if ($context.Request.Method -eq 'OPTIONS') {
            $context.Response.StatusCode = 204
            return $true
        }
        
        return $false
    }

ittchmh avatar Jul 24 '24 23:07 ittchmh