欢迎来到公海710 将 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=

现在我们的函数正在运行,我们可以使用 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/
登录: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=
摘要
这只是确保您的 Azure 函数像环境中的任何其他应用程序一样受到保护和管理的第一步。如需了解更多信息,或获得改善安全状况的帮助,请通过以下方式联系我们:[电子邮件受保护].
作者