【发布时间】:2020-11-11 05:29:57
【问题描述】:
我创建了一个 Python Azure Function 并通过在 Azure 上托管为 App Service 的 JS 代码调用它。
我需要在这个函数上设置azure active directory authentication。
我已经在 azure function app 和 azure app service 中配置了 azure Active Directory 身份验证,并在两者上都启用了 CORS,但仍然面临 CORS 问题
从源“app-service-url”的“azure-function-url”重定向到“https://login.windows.net”对 XMLHttpRequest 的访问已被 CORS 策略阻止:否“Access-Control-Allow” -Origin' 标头存在于请求的资源上。
基本上我想要对 azure python 函数进行身份验证,以便我可以从 AJAX 请求调用它而不在应用服务中公开令牌? 我做错什么了吗?
还有一种方法可以在使用 azure 活动目录身份验证的同时使用 azure 函数返回登录用户的电子邮件 ID 吗?我可以在 c# 中找到一个代码示例,如下所示。
laimsPrincipal cp = ClaimsPrincipal.Current;
string welcome = string.Format("Welcome, {0} {1}!",
cp.FindFirst(ClaimTypes.GivenName).Value, `cp.FindFirst(ClaimTypes.Surname).Value);`
现在的问题是,我需要使用 Python 来执行此操作,但我在网上找不到示例。谁能指出我正确的方向?或者帮助翻译这段代码。
【问题讨论】:
-
不支持直接从 SPA 调用 Azure AD 端点,请使用 msal.js 来执行此操作。详情见此示例:github.com/AzureAD/microsoft-authentication-library-for-js/tree/…
-
好的,试试这个。
-
@StanleyGong 还有一种方法可以在使用 azure 活动目录身份验证的同时使用 azure 函数返回登录用户的电子邮件 ID 吗?
-
当然,一般情况下,你从Azure AD获取的token中都会涉及到用户的email-id,获取方法可以参考我之前的帖子:stackoverflow.com/questions/64658682/…
-
@StanleyGong 感谢您的回答!你能告诉我在我的 python httptrigger azure 函数中登录后如何获取从 Azure AD 获得的访问令牌吗?
标签: javascript python azure azure-active-directory