我正在尝试对应用洞察中的一些结果进行分组,并且正在努力
如果我要列出我的结果,它看起来像
Product Version
A 1
B 2
A 2
A 1
B 3
B 3
Run Code Online (Sandbox Code Playgroud)
如您所见,我有 2 个产品(A 和 B),每个产品都有一个版本号。
我试图将这些分组并提供一个计数,所以我的最终结果是
Product Version Count
A 1 2
A 2 1
B 2 1
B 3 2
Run Code Online (Sandbox Code Playgroud)
目前,我的方法一团糟,因为我手动执行此操作
customEvents
| summarise A1 = count(customEvents.['payload.prod'] == "A" and myEvents.['payload.vers'] == "1"),
| summarise A2 = count(customEvents.['payload.prod'] == "A" and myEvents.['payload.vers'] == "2")
Run Code Online (Sandbox Code Playgroud)
等等
我不知道如何聚合这些,以便它可以按产品和版本分组,然后计算每个出现的次数
我正在尝试调用 graph api 来获取用户信息。我首先使用邮递员获取令牌,然后使用该令牌尝试向图形 api 发出请求
我通过以下发布请求获得了令牌,并有 4 个关键值grant_type, client_id, client_secret and resource.
https://login.microsoftonline.com/{{tenantid}}/oauth2/token
Run Code Online (Sandbox Code Playgroud)
响应是
{
"token_type": "Bearer",
"expires_in": "3600",
"ext_expires_in": "3600",
"expires_on": "1555583717",
"not_before": "1555579817",
"resource": "https://management.azure.com/",
"access_token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxNiIsIng1dCI6IkhCeGw5bUFlNmd4YXZDa2NvT1UyVEhzRE5hMCIsImtpZCI6IkhCeGw5bUFlNmd4YXZDa2NvT1UyVEhzRE5hMCJ9.yyyyyyyLTBjYjZmZDNiM2UwNCIsInRpZCI6IjM3NGY4MDI2LTdiNTQtNGEzYS1iODdkLTMyOGZhMjZlYzEwZCIsInV0aSI6ImVWTWdDbkU4QWtPVXY3bFQ2QlRSQUEiLCJ2ZXIiOiIxLjAifQ.kxHCm2oGsuUvlXbncXQe7Wb0l-ZENqqG9_P_co0SPdYA3GkhFKDi6sQ7OaaHeDs4S6kN0-Diw5qBOzmFipSA5EUorA7UDbJfiSVVlaEzLY3IX_4WSV4Exc-kLOaX0j7KgvsEQbc5TEk8e4dPfokG98gGPmhy19xLyV84lX1v6DzgXINzP8gPkGmqR_J7iVFQ3m-Y18dHlxDpqQMTKxvQGnrsa7rflyxGUwEwwFZJH8t5NRv_mjQOIQBuosfhMAH88l-J8zEmXWLFqEzFBBWrz9UxT6X-XxRQZW4WBSoHTKd3vuBcEo6kUclfe4G7COOvI4zG0-j10mmGziKlzjNVMw"
}
Run Code Online (Sandbox Code Playgroud)
然后我使用令牌发出 GET 请求
https://graph.windows.net/{{company}}/users/{{email}}?api-version=1.6
Run Code Online (Sandbox Code Playgroud)
和标题
Key Value
Authorization Bearer {{token}}
Run Code Online (Sandbox Code Playgroud)
但它因这个错误而失败
{
"odata.error": {
"code": "Authentication_MissingOrMalformed",
"message": {
"lang": "en",
"value": "Access Token missing or malformed."
}
}
}
Run Code Online (Sandbox Code Playgroud)
向 graph api 发出请求的正确方法是什么?
当我尝试通过 Microsoft Graph 和 oAuth 从 Azure AD 检索 sAMAccountName 时,不会返回该属性。
我正在尝试通过 oAuth 从 Azure AD 租户上的 Microsoft Graph 检索 onPremisesSamAccountName。我的本地域与 Azure 同步,并且我选择了 sAMAccountName 目录扩展进行同步。但是,当我向 Graph REST URI 发出 GET 请求时,我得到了正确的用户对象,但没有得到 onPremisesSamAccountName。
这是我的要求:
https://graph.windows.net/myorganization/users/user@domain.com?api_version=1.6
Run Code Online (Sandbox Code Playgroud)
该请求返回带有大量属性的用户对象。当我尝试以下操作时(希望“$select”该字段,Microsoft 返回元数据 URL - 它实际上包含 onPremisesSamAccountName 属性定义。
https://graph.windows.net/myorganization/users/user@somain.com?api-version=1.6&$select=onPremisesSamAccountName
Run Code Online (Sandbox Code Playgroud)
我的查询格式是否正确?在 Azure AD 门户中,我指定了以下 API 权限:
这段代码运行得很好:
from azure.storage.blob import BlobServiceClient
from azure.identity import InteractiveBrowserCredential, DeviceCodeCredential, ClientSecretCredential
credential = DeviceCodeCredential(authority="login.microsoftonline.com", tenant_id="***", client_id="***")
blobber = BlobServiceClient(account_url="https://***.blob.core.windows.net", credential=credential)
blobs = blobber.list_containers()
for b in blobs:
print(b)
Run Code Online (Sandbox Code Playgroud)
我运行它,浏览到 URL,填写我发出的代码,随后连接成功并返回容器列表。
但是,当我尝试切换到 InteractiveBrowserCredential 时:
credential = InteractiveBrowserCredential(authority="login.microsoftonline.com", tenant_id="***", client_id="***")
blobber = BlobServiceClient(account_url="https://***.blob.core.windows.net", credential=credential)
blobs = blobber.list_containers()
for b in blobs:
print(b)
Run Code Online (Sandbox Code Playgroud)
浏览器确实打开,我获得了令牌,但身份验证失败并出现以下错误:
azure.core.exceptions.ClientAuthenticationError: Authentication failed: AADSTS7000218: The request body must contain the following parameter: 'client_assertion' or 'client_secret'.
Run Code Online (Sandbox Code Playgroud)
网上看类似的问题,根本原因通常是应用程序没有在Azure AD中注册为PublicClient。然而,这里的情况并非如此。我确保该应用程序已注册为公共客户端。事实上,第一个样本就完美地证明了这一点。
我在这里敲头。还有其他建议吗?
我们目前正在使用 adal python 库,并且想知道是否有任何方法(或实施方法的计划)来使用登录用户(Windows)进行联合身份验证流程。
使用 .Net 包链接可以实现这样的流程
最终目标可能是,而不是acquire_token_with_username_password
,也许是这样的acquire_token_with_signed_in_user
?
有人有使用 Rust 进行 Microsoft Azure Active Directory 身份验证的经验吗?我在工作中构建了一个支持 LDAP 身份验证的服务,但我们现在需要在不使用 LDAP 的客户端上部署所述应用程序。他们建议我们考虑 Active Directory 联合服务和 Azure Active Directory。
我一直在研究,似乎微软主要为流行语言/框架提供了一个活动目录身份验证库(ADAL),但我找不到任何准系统文档。
有谁知道我可以遵循的资源/在线文档?我正在寻找一些可以使用request
或实现的通用 REST API hyper
。
我已将我的订阅从“azure for Students”升级为“按需付费”,但是当我尝试使用 jupyter 本地笔记本服务器创建工作区时,我收到用户错误,提示您当前已登录到...租户您无法访问....订阅,请检查它是否在此租户中。,我能够使用 azure 门户创建我的工作区,但我想使用 jupyter 本地笔记本服务器创建我的工作区,如何修复该错误?
可以在 Azure Keyvault 支持的 Databricks 中创建范围,而不是使用 Databricks CLI。但是,当您尝试创建 Scope 时,会显示一条模糊的错误消息(拼写错误!)。似乎没有多少人遇到此错误:
“向 KeyVault: XYZ 授予 Databricks 服务主体的读取/列表权限时发生内部错误”
在这种情况下,将管理主体设置为所有用户无济于事。
我正在尝试使用图形 API 获取多租户应用程序的所有用户。为此,我使用请求生成了访问令牌:
POST https://login.microsoftonline.com/common/oauth2/v2.0/token HTTP/1.1
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded
client_id=535fb089-9ff3-47b6-9bfb-4f1264799865
&scope=https%3A%2F%2Fgraph.microsoft.com%2F.default
&client_secret=qWgdYAmab0YSkuL1qKv5bPX
&grant_type=client_credentials
Run Code Online (Sandbox Code Playgroud)
注意:请注意,在上述请求中,我使用common
代替{tenantID}
. 这只是一次点击和尝试,就像文档中为 adminConsent 建议的那样。
通过使用上面生成的访问令牌,我请求用户 API 并收到以下错误
{
"error": {
"code": "Authorization_IdentityNotFound",
"message": "The identity of the calling application could not be established.",
"innerError": {
"request-id": "56141b7d-dd5e-44b1-9395-cd15d02b52de",
"date": "2019-06-17T12:42:19"
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我使用租户 ID 生成令牌时,它仅返回一个活动目录的用户。
谁能建议我哪里出错了?
active-directory azure multi-tenant onedrive azure-ad-graph-api
我已在 Azure 中为 Microsoft Identity 平台注册了一个应用程序。我将其配置为允许 MS 帐户(例如 Outlook.com),并且基本上已经完成了此处和此处的一些在线快速入门中的所有操作(“向您的 Web 应用程序添加凭据”除外)。我还选中了启用隐式流的框。
我将我的 React 应用程序重定向到要登录的 URL(使用隐式流程),我可以输入我的用户名,但随后我看到
未授权客户端:客户端不存在或未为消费者启用。如果您是应用程序开发人员,请通过https://go.microsoft.com/fwlink/?linkid=2083908 上的 Azure 门户中的应用程序注册配置新应用程序
就像我上面提到的那样,我已经经历了几个快速入门并在此处阅读了隐式流程,并在我的代码中遵循了他们的示例。
我也尝试删除应用程序注册并重新开始。没运气。
将浏览器重定向到一个 Url 的 JS 代码,该 URL 看起来像 Microsoft 在其隐式流程页面上的第一个示例
goSignIn() {
const tenant = 'common'; // (for us with MS accounts)
const clientId = '*****';
const redir = encodeURIComponent('http://localhost:3000/signin');
const nonce = Math.round(Math.random() * 10000, 0);
const uriTemplate = 'https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize?client_id={clientId}&response_type=id_token+token&redirect_uri={redirect}&scope=openid&response_mode=fragment&state={state}&nonce={nonce}';
const filledTemplate = uriTemplate …
Run Code Online (Sandbox Code Playgroud) azure azure-active-directory implicit-flow microsoft-identity-platform
azure ×10
adal ×1
coldfusion ×1
microsoft-identity-platform ×1
multi-tenant ×1
onedrive ×1
postman ×1
python-3.x ×1
rust ×1