博客 | 见解 2021 年 4 月 28 日

欢迎来到公海710 将 Okta OpenID Connect (OIDC) 添加到 Azure Functions

将 Okta OpenID Connect (OIDC) 添加到 Azure Functions

Azure 函数现在支持使用 a 进行身份验证自定义 OpenID Connect 提供商,尽管这是预览版。这是一组有关如何将新的 Azure Function 与 Okta 配置集成的快速文档。如需更多帮助,或要将现有功能迁移到 Okta,请随时联系[电子邮件受保护].

创建新的 Azure 函数

为了使用 Okta OpenID Connect (OIDC) 身份验证设置 Azure 函数,您首先需要在以下位置创建一个新的 Azure 函数:Azure 仪表板。提供订阅和资源组以及应用程序名称。在本例中,为了简单起见,我们将使用 Node.js 函数。

在此示例中,我们将选择页面底部的“查看并创建”,然后选择“创建”。部署功能应用程序后,它将显示“添加功能”选项。选择此项,然后选择页面顶部的“添加”按钮。在本演示中,我们将使用 HTTP 触发器模板,并调用函数“say-hello”。

点击“添加”按钮,然后您将进入“功能”页面。此时,您应该能够导航到函数 URL 并查看输出。基本应用程序名称(在本例中:“atg-okta-oidc-sample”被创建为“azurewebsites.net”的子域。这将验证您的函数正在运行。您还可以单击顶部的“获取函数 URL”按钮,它将提供您可以访问的端点。要查看 HTTP 页面上显示的您的名称,只需附加“&name=”到网址。例如,我的网址是:

函数应用网址:https://atg-okta-oidc-example.azurewebsites.net/

函数网址:https://atg-okta-oidc-example.azurewebsites.net/api/say-hello?code=

带有我名字的函数网址:https://atg-okta-oidc-example.azurewebsites.net/api/say-hello?code=&name=贾勒特

现在我们的函数正在运行,我们可以使用 Okta 添加 OIDC。

在 Okta 中设置应用

Navigate to your Okta tenant, then login to the admin dashboard and navigate to “Applications” =>“应用程序”。在此页面中,选择“创建应用程序集成”。您将看到一个向导出现 – 选择 OIDC Web 应用程序选项并单击“下一步”。为应用程序命名,并设置登录和注销重定向 URI。注销将与您的 Function App URL 相同,登录将是 Function App URL 附加“.auth/login//callback”。我们尚未在 Azure 中配置身份提供商 (IdP) 名称,因此此处放置的任何内容(虽然可以更新)都将是该名称。在这种情况下,我将在 Azure 中将我的 IdP 命名为“my.okta.auth”,因此我的网址为:

登录:https://atg-okta-oidc-example.azurewebsites.net/.auth/login/my.okta.auth/callback

退出:https://atg-okta-oidc-example.azurewebsites.net/

对于作业,您可以选择所有人或限制为一个组。在这种情况下,我们将让每个可以访问 Okta 的人都可以访问此应用程序。单击“保存”,Okta 应用程序已创建。

现在应用程序已创建,它具有 ID 和密钥。请务必将此视为安全的用户名和密码。最简单的方法是保留此页面,然后打开 Azure 门户的新选项卡,因为我们在后续步骤中需要这两个值。

在 Azure 中配置您的 IdP

导航回 Azure 门户,然后选择“函数应用”和应用的名称。您将看到一个概述页面。现在导航到设置下的“配置”选项,然后选择“+新应用程序设置”。我们将在此处放入 OIDC 应用程序中的 Okta 客户端密钥。为其命名(在本例中我使用“OKTA_CLIENT_SECRET”),然后单击“确定”。不要忘记点击页面顶部的“保存”按钮来保存您的更改!

在“开发工具”下方,您将看到“控制台”选项。选择此选项,它将在您的应用程序中显示一个终端。在此终端中,我们将运行“touch authsettings.json”来创建 JSON 配置文件。我们可以使用“ls”命令查看所有文件。

Navigate to “Functions” =>“应用文件”,然后从顶部的下拉列表中选择“authsettings.json”文件。

这提供了一个空文件,我们可以用我们的身份提供商信息填充该文件。完整的文件参考可以在中找到微软文档。使用正确的 JSON 信息填充 authsettings.json,我的示例发布在此处:

请务必使用您在 Okta OIDC 应用登录网址中命名的 IdP,为客户端密钥设置正确的应用配置密钥名称,并更新您的 Okta 租户众所周知的配置端点。设置配置后,点击“保存”按钮以保存更改。有关 Okta 的“众所周知”端点的更多信息,您可以参考他们的开发者文档.

让 Azure 使用您的配置文件

现在我们需要应用程序使用我们的配置文件,所以我们将转到Azure 资源浏览器。由于我们已经登录到 Azure,这将显示可用的资源。您需要导航至:

订阅//resourceGroups//providers/Microsoft.Web/sites//config/authsettings。

此 JSON 文件为您的 Function App 配置身份验证,也是我们告诉 Azure 使用您的 authsettings.json 文件的方式。选择页面顶部的“读/写”按钮,然后选择 JSON 文件顶部的“编辑”按钮。将“properties”中的“enabled”值从“false”修改为“true”。

然后添加两个附加属性“isAuthFromFile”(值为“true”)和“authFilePath”(值为“authsettings.json”)。选择“PUT”按钮保存更改。

测试一下!

现在我们可以测试该函数了。我建议使用其他浏览器或隐身/InPrivate 浏览器,以确保您被迫登录 Okta。再次导航到带有名称参数的函数 URL (https://atg-okta-oidc-example.azurewebsites.net/api/say-hello?code=&name=Jarrett),您将需要登录 Okta 才能看到成功页面!

摘要

这只是确保您的 Azure 函数像环境中的任何其他应用程序一样受到保护和管理的第一步。如需了解更多信息,或获得改善安全状况的帮助,请通过以下方式联系我们:[电子邮件受保护].

作者

作者头像 贾勒特·巴里尔
分享

更多文章

见解
2026 年 4 月 27 日

当 Glean 需要 Snowflake 时:为什么企业 AI 仍然依赖于分析平台

安迪·奎林头像 安迪·奎林
公司
2026 年 4 月 23 日

Alchemy 技术集团收购 Iovations

皮特·唐宁头像 皮特·唐宁
见解
2026 年 4 月 11 日

Glasswing 项目和多样化代理 AI 策略的案例