Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Azure AD login example script not working #1326

Open
mkht opened this issue Jun 3, 2024 · 1 comment
Open

Azure AD login example script not working #1326

mkht opened this issue Jun 3, 2024 · 1 comment

Comments

@mkht
Copy link

mkht commented Jun 3, 2024

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

@ittchmh
Copy link
Contributor

ittchmh commented Jul 24, 2024

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
    }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants