问题标签 [azure-authentication]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
azure-active-directory - 使用 Azure Function 应用程序的登录用户对 Dynamics 365 Web Api 进行身份验证
我有一个受 Azure AD 身份验证保护的 Azure Function App(HTTP 触发函数)。
这工作正常 - 当我在浏览器中转到函数的 URL 时。我首先被重定向到登录页面,我可以使用我的 Azure Active Directory 登录凭据登录。
但是,我希望该函数连接到 Dynamics 365 Web API 以使用登录用户的身份读取一些数据。关于连接到 Web API 和在 Azure 中配置应用程序权限的代码,我已经复制了这个示例。我的 Dynamics 365 实例与我的 Azure 和我正在使用有权访问 Dynamics 365 的用户登录的用户位于同一租户中。
我正在努力的部分是获取访问令牌以调用与登录用户相对应的 Dynamics Web API。
第一次尝试
然后,我尝试根据“X-MS-TOKEN-AAD-ID-TOKEN”标头使用当前登录用户的令牌。我的代码如下 - 它没有连接到 Dynamics Web API - 我得到 401 - Unauthorized 响应:
似乎“X-MS-TOKEN-AAD-ID-TOKEN”没有被接受。
第二次尝试
我试图通过创建一个“UserAssertion”实例以及一个 ClientCredential 来为用户获取一个新令牌。UserAssertion 位我真的不确定并且可能是错误的:
我得到的回应是
解决方法 - 不是真正的解决方案
我设法开始工作的唯一一件事是硬编码我正在登录的用户的用户名/密码:
...但是这种失败的目的 - 通过硬编码用户名/密码,我肯定只是完全绕过 Azure 应用程序注册安全性?
c# - 客户端应用程序的 Azure Active Directory 静默 SSO(令牌检索)
我有一个客户端应用程序,我想检查 azure 广告令牌声明。通过客户端应用程序,我指的是在 Windows 10 桌面上运行的可执行文件或在用户上下文中运行的 UWP 应用程序。
我努力了:
这失败了password_required_for_managed_user
。
可用文档声称此方法使用 Kerberos,如果属实,Azure ADd 不支持 Kerberos,因此会失败。
抛出MsalUiRequiredException (no token in cache)
。
这不再使用 ADAL,它使用不同的实现AcquireTokenSilentAsync
:
这返回相同的MsalUiRequiredException
我很茫然。对于 Web 应用程序,浏览器缓存中会有一个 cookie,我可以使用标准运行时执行静默 SSO。
我是否必须在我的应用程序中嵌入一个 Web 服务器才能做到这一点?
azure-active-directory - Saml 响应发送到应用注册下的默认回复 URL
我有一个使用 azure 注册的自定义 Web 应用程序。SSO 设置中提到了回复 URL,它工作正常。但上周我们无法访问我们发现 SAML 响应被发送到环回地址 URL ( https://127.0.0.1:444/applications/default.aspx ) 的应用程序,这是应用程序注册时可用的默认回复 URL我们注册了应用程序。无法从审核日志中获取任何信息。
您能否让我们知道 SAML 响应回环地址的可能原因是什么?
我们没有对回复 URL 进行任何更改。我们与应用程序团队核对并使用新 URL 更新了回复 URL,它再次工作。
c# - 守护程序服务器可以使用 Azure App Service 提供的内置身份验证吗?
我们目前正在使用 Azure App Service 运行我们的 Web API。到目前为止,没有使用或不需要身份验证。现在我们想将身份验证添加到一个新方法中。
此处描述了 Azure 内置身份验证。由于我们希望在没有用户交互的情况下由另一台服务器(不在 Azure 中运行)查询数据,因此考虑使用守护程序服务器解决方案。为此,需要在 Azure AD 中为守护程序应用程序创建应用程序注册,并编辑通过 Web API 的内置身份验证创建的应用程序注册。
需要以下代码,这需要几个 NuGet 包。
有没有办法将这两种方法结合起来,并让守护服务器使用其在 Azure AD 中的注册来获取 JWT 令牌(我们有这个位),并通过应用程序的内置身份验证(不使用上面的代码)验证这个令牌服务?
使用上面的代码,一切正常,但是一旦删除,守护进程的 JWT 令牌就无法识别。在这两种情况下(有/没有代码)都可以使用<appAddress>/.auth/login/aad
. 内置身份验证被描述为处理 JWT 令牌,但它不起作用。
azure - Azure:创建授权令牌以访问 Azure 资源管理 API
当我在网页上执行 TryIt 时,它可以工作,但是如果我想使用说 PostMan 或以编程方式执行它,我如何生成授权密钥,我已经看到使用“应用程序注册”创建授权密钥的文档,但我没有这里的任何 WebApp,我想要做的就是使用 Azure 提供的 API 调用获取特定帐户或订阅的详细信息,并使用具有适当角色的任何 AD 用户进行身份验证。此链接提供了一些详细信息,但我在这里没有 clientid,因为我没有任何 webapp https://msdn.microsoft.com/en-gb/library/azure/dn645543.aspx
请让我知道是否有人尝试过这样做。谢谢
azure - 如何登录 Azure 服务主体
Connect-AzureRMAccount
不起作用。我不在乎。我不想通过需要博士学位的过程来理解为什么 PowerShell 永远不想工作。所以我要使用Login-AzureRMAccount
我已经关注了文档。当然这是不够的,所以我在这里。 https://docs.microsoft.com/en-us/powershell/azure/authenticate-azureps?view=azurermps-6.6.0
“为了获取服务主体的凭据作为适当的对象,请使用 Get-Credential cmdlet。此 cmdlet 将显示一个对话框,用于输入服务主体用户 ID 和密码。”
我什至在哪里可以找到我的用户 ID?我遵循了另一个关于创建 SP 的文档说明,我所做的只是创建了一个应用程序。我在 PowerShell 中获得了 SP 对象,它所做的只是给了我一个 SP 的名称。
现在我明白了什么是用户 ID。如何登录?我用Login-AzureRmAccount
ANDAdd-AzureRMAccount
他们都说
azure - 使用连接字符串在 Azure 中进行身份验证
我给了一个连接字符串。我需要使用它对 Azure Blob 存储进行身份验证。显示的连接字符串包含:Key、AccountName、protocol、Suffix。
连接字符串示例:
DefaultEndpointsProtocol=https;AccountName=$$$$$*****;AccountKey=kjdjkfhdjskhfsdfhlksdhfkldshfishishfldslflkjfklsVvJDynYEkiEqWCZkdfkhdkjshfdshfs==;EndpointSuffix=core.windows.net
现在,当我查看授权文章时,提到了多种方法,并且没有描述使用此连接字符串进行授权的文章或方法。
如果有人可以指导如何使用连接字符串连接到 azure 存储,这将非常有帮助,以便我们可以列出容器。
azure-active-directory - 使用委派权限和 Microsoft Graph 自动创建用户/驱动器
我正在使用 adal-node 库中的 acquireUserCode、acquireTokenWithDeviceCode 流来验证我的应用程序和用户。此过程成功运行,然后我可以使用返回的令牌进行 MS Graph 调用。我被卡住的地方是使用 /users/{id}/drive 端点。文档状态:
如果未预配用户的 OneDrive,但用户拥有使用 OneDrive 的许可证,则在使用委派身份验证时,此请求将自动预配用户的驱动器。
我的理解是设备代码是委派权限的一种形式,但没有创建驱动器。相反,我得到了 404 响应。用户已获得适当许可。在测试中,我已将所有图形委派权限授予应用程序注册,并通过 UI“授予”它们。如果支持这种情况,我应该查看链中的任何指针?谢谢!
azure - Azure Key Vault 的 MSI 身份验证无法在本地使用 VS 2017 和 IISExpress
我已经使用 Azure Key Vault 为加密密钥实施了一个解决方案。我已遵循https://docs.microsoft.com/en-us/azure/app-service/app-service-managed-service-identity文档中的建议,了解如何将我的应用服务验证到 Azure Key使用托管服务标识的保管库。我的应用服务是一个 asp.net core 2.1 应用程序。
当我将应用服务发布到我的 Azure 订阅时,这是有效的,因此我确信实现是正确的。问题在于在本地运行代码并尝试使用 MSI 连接到 Azure Key Vault 似乎并不像宣传的那样对我有用。
我正在运行 Visual Studio 2017 版本 15.8.5。我在 Azure Active Directory 中的企业身份是我登录 VS 的方式(即sbraswell@myemployer.com)。但是,我使用的 Azure 订阅是我的 MSDN 合作伙伴权益的一部分,并且与我的 Microsoft 帐户 (MSA)(即@hotmail.com)相关联。我已向我的订阅授予了我的公司 AAD 身份“所有者”角色权限。我能够以我的企业身份登录 Azure 门户并访问与我的 MSA 帐户关联的 Azure 订阅的所有方面。
获取 Azure Key Vault 的访问令牌时,以下代码不会引发异常:
当我尝试从保管库解析特定加密密钥时,此代码引发异常:
抛出的异常是:
我希望能够使用 MSI 来部署解决方案以进行身份验证,这样我们就不必创建充当应用服务和 Key Vault 之间中介的 Active Directory 应用程序。我们最终不得不将 App ID 和 App Secret 放入我们的应用服务配置中,并且使用 MSI,我们避免了管理这两个额外的敏感数据位。
提前感谢您的任何建议。
更新
我已经确认,如果我使用作为与我的公司 AAD 帐户关联的订阅的一部分的 Key Vault,则来自 VS 的 MSI 身份验证可以正常工作,无一例外。我的配置一定有问题。是否还有其他人对其 Microsoft 合作伙伴网络 Visual Studio 企业订阅 Azure 权益有此问题?使用 MS 进行身份管理是一团糟 :(