如何实现 Azure Function 的身份验证 - Google 提供商 - 静态 WebApp - 未经授权

问题描述 投票:0回答:1

我有一个静态网络应用程序,它具有谷歌身份验证登录并且可以工作。

我有 azure 功能 - 开箱即用 - HttpExample。

无需身份验证即可访问 azure 功能。

在 GCP 客户端/oauth 配置中

授权的 JavaScript 起源

http://localhost:3000
https://i***.5.azurestaticapps.net
https://l***ons.azurewebsites.net

授权重定向 URI

http://localhost:3000
https://i***.5.azurestaticapps.net/.auth/login/google/callback
https://l***ons.azurewebsites.net

使用链接 - 配置提供程序我在 Azure 函数中配置了提供程序

我的配置 enter image description here

我不确定要使用的重定向网址。

问题: 通过邮递员进行测试 - 使用承载令牌和使用静态 Web 应用程序获取的粘贴令牌来“获取”azure 功能的请求。

错误:410 未经授权

疑问:

  1. 我不确定 GCO 重定向 url 的形式是否应该是...login/oauth2/code/google
  2. 希望我在azure函数的身份验证部分中的配置是正确的

如何解决这个问题?是不是设置有问题?

(以及如何调试/跟踪)

编辑2:

使用授权标头(使用邮递员的令牌)在 Azure 函数内进行代码 + 测试

错误:

安全问题:请求将身份验证令牌发送到不受信任的域“blah.azurewebsites.net”。仅应配置一组固定的域来接收身份验证令牌。命令名称:

编辑

我的例子: https://learn.microsoft.com/en-gb/training/modules/develop-azure-functions-app-with-maven-plugin/6-deploy-function-azure

csharp 示例:(不知道如何在 java 中翻译/复制) https://github.com/stuartleeks/AzureFunctionsEasyAuth/

azure azure-functions google-oauth azure-static-web-app
1个回答
0
投票

我已按照以下步骤访问受身份验证保护的功能应用程序。

创建一个函数应用程序并在身份验证中添加身份提供者。

  • 它创建一个新的 Entra ID 应用程序(下面突出显示)。

enter image description here

导航到上面创建的 Entra ID 应用程序,打开 API 权限,添加权限=>我的 API=> 选择 API 并添加

user_impersonation
权限。

enter image description here

打开Expose API,可以看到暴露的API如下。

enter image description here

在应用程序 => 身份验证中添加重定向 URL

enter image description here

  • 注意进一步使用访问函数应用程序的范围。

转到概述,注意“证书和机密”中提供的 Client_ID、租户 ID 和客户端机密。

使用凭据生成新的访问令牌:

GET https://functionapp.azurewebsites.net/api/HttpTrigger1

Grant_Type : Authorization Code
Auth URL : https://login.microsoftonline.com/<Tenant_ID>/oauth2/v2.0/authorize
Access Token URL : https://login.microsoftonline.com/<Tenant_ID>/oauth2/v2.0/token
Callback URL : <RedirectURL>
ClientID : <ClientID>
Client Secret : <Client_secret>
Scope : api://xxx/user_impersonation

enter image description here

点击 Generate Token 生成访问令牌,令牌将被保存,然后您就可以运行该函数了。

enter image description here

能够访问经过身份验证的函数应用程序并成功运行该函数。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.