我们配置了一个天蓝色的活动目录应用程序,以便我们网站的用户可以通过他们的Microsoft 帐户登录。问题是,如果我们不授予管理员访问权限,则登录应用程序将失败并显示错误代码AADSTS650056:
应用程序配置错误。这可能是由于以下原因之一造成的: 客户端未在客户端应用程序注册中请求的权限中列出“AAD Graph”的任何权限。
我们对点击“授予管理员同意”持怀疑态度,担心这可能会暴露任何漏洞。这是正确的方法吗?如果不是,有哪些替代方案可以绕过这种同意?
这是我从 Web 服务获得的 JSON 响应:
{
"odata.metadata": "https://graph.windows.net/00c6cd14-eaee-4d02-9807-59bcd4f98847/$metadata#domainDnsRecords",
"value": [{
"odata.type": "Microsoft.DirectoryServices.DomainDnsTxtRecord",
"dnsRecordId": "aceff52c-06a5-447f-ac5f-256ad243cc5c",
"isOptional": false,
"label": "aro3652698.applabdnstest1.com",
"recordType": "Txt",
"supportedService": "Email",
"ttl": 3600,
"text": "MS=ms14815229"
},
{
"odata.type": "Microsoft.DirectoryServices.DomainDnsMxRecord",
"dnsRecordId": "5fbde38c-0865-497f-82b1-126f596bcee9",
"isOptional": false,
"label": "aro3652698.applabdnstest1.com",
"recordType": "Mx",
"supportedService": "Email",
"ttl": 3600,
"mailExchange": "ms14815229.msv1.invalid",
"preference": 32767
}]
}
Run Code Online (Sandbox Code Playgroud)
“value”标记下数组中的元素具有不同的派生类型。
有DomainDnsRecord抽象基类,从基类继承的类是DomainDnsTxtRecord和DomainDnsMxRecord。
在给定的 JSON 数组中(但不总是!),第一个元素是 of DomainDnsTxtRecord,第二个元素是DomainDnsMxRecord类型。
包含有关给定元素是什么类型的信息的字段是:“recordType”。
将此 JSON 数组反序列化为基类列表的最简单、最方便的方法是什么,例如List<DomainDnsRecord>(例如(使用 Newtonsoft))?
我正在构建一个基于React的Outlook加载项.我使用YeomanGenerator设置我的项目.我正在尝试使用Office-Js-Helpers设置身份验证.我能够创建验证器,注册microsoftAuth端点.我的添加打开对话框,我能够登录等,并在对话框的URL中返回访问令牌,但对话框永远不会关闭,并且我尝试进行身份验证后获取我的令牌是success/ thenfunction从未打过.如果我手动关闭对话窗口,catch则触发.
我不知道我是否正确设置我的项目.这是main.tsx我打开加载项时第一个加载的页面中的代码.这是代码(有一些虚拟数据 - 例如我的clientId是一个实际的,我刚刚阻止了它).我已经在我的应用程序帐户中设置了redirectUrl https://localhost:3000/signin-microsoft.请告诉我您可能需要的其他信息 - 我100%坚持到这里.
import * as React from 'react'
import { render } from 'react-dom'
import { App } from './components/app'
import { Progress } from './components/progress'
import './assets/styles/global.scss'
import { Authenticator, Utilities, DefaultEndpoints } from '@microsoft/office-js-helpers'
(() => {
const title = 'My App';
const container = document.querySelector('#container');
const clientId = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
/* Render application after Office initializes */
Office.initialize = () …Run Code Online (Sandbox Code Playgroud) 我正在使用 Create React App 为 Excel 构建加载项。该加载项在 Excel for macOS 中运行良好。
但是,当我尝试在 Excel Online 中加载它时。上传清单文件并打开加载项后,它显示
加载项错误:出现问题,我们无法启动此加载项。请稍后再试或联系您的系统管理员。
控制台显示
解析“沙箱”属性时出错:“ms-allow-popups”是无效的沙箱标志。
我已经在开发中使用 HTTPS 了HTTPS=true npm start。
还有什么可能导致这种情况?谢谢
我正在尝试通过 OAUTH2 身份验证使用 Microsoft Graph API,但是我正在努力弄清楚如何使用委派权限而不要求用户登录。
我很高兴自己对应用程序进行一次身份验证,但这将在守护进程/服务上运行,并且不会通过用户进行交互。因此,我无法使用 Microsoft 描述的委托权限的方式,因为/authorize首先使用,然后才能调用/token.
我知道您可以使用密钥,/token但似乎只能使用应用程序权限而不是委派 - 这是我有权访问的权限。
有没有一种方法可以像我是用户一样使用委派权限进行身份验证,但用户不必每次都使用登录页面?
我一直在尝试搜索我的SharePoint网站.我能够获得单个驱动器的结果:
xxx.sharepoint.com,xxxxxx-xxxx-xxxx-xxxx-xxxxxx,xxxxx-xxxx-xxxx-xxxx-xxxxxx/drives/xxxxxxxxx/search(q='{content}')
但如果我进行相同的搜索drive/root,我不会得到任何结果:
xxx.sharepoint.com,xxxxxx-xxxx-xxxx-xxxx-xxxxxx,xxxxx-xxxx-xxxx-xxxx-xxxxxx/drive/root/search(q='{content}')
我们基本上希望在整个子网站上执行搜索.
我正在尝试访问组织的 SharePoint 团队网站。我正在使用 Microsoft Graph API,因为它是 Office 365 最完整的 API。我了解如何获取访问令牌以及如何使用它来发出请求。我知道它有效,因为我可以获得组列表,但是在获取所有团队网站时,我收到一条错误消息:
Code : invalidRequest
Message : Cannot enumerate sites
Run Code Online (Sandbox Code Playgroud)
这是我的代码。我正在控制台应用程序中对其进行测试。
class Program {
static void Main(string[] args) {
Program p = new Program();
var items = p.GetItems();
items.Wait();
foreach (var item in items.Result) {
Console.WriteLine(item.DisplayName);
}
Console.ReadLine();
}
public async Task<IGraphServiceSitesCollectionPage> GetItems() {
PublicClientApplication myApp =
new PublicClientApplication("CLIENT-ID-FROM-DEVELOPPER-CONSOLE");
//Gets an access token
AuthenticationResult authenticationResult =
await myApp.AcquireTokenAsync(
new string[] {
"user.read.all",
"sites.read.all",
"files.read.all",
"group.read.all",
"Directory.Read.All"
}).ConfigureAwait(false);
//Creates the client with the …Run Code Online (Sandbox Code Playgroud) 当我打电话时v1.0/me/messages/{message id}/attachments/?$filter=isInline eq true。它返回内联和非内联。
当我打电话时v1.0/me/messages/{message id}/attachments/?$filter=size gt 15000。它返回所有大小的附件,例如 14000。
它只是忽略过滤器参数...
这样对吗?文档没有说明这一点。
还有另一种方法可以通过一个查询仅获取内联附件吗?
我编写了一个能够与Exchange Online帐户通信的应用程序,我正在尝试测试以查看使其与在Hybrid中运行的内部部署帐户一起使用所需的步骤.
我有:
/PrepareAD跑)/api/v2.0和/autodiscover/autodiscover.json不幸的是,我404在尝试访问日历活动时遇到了问题:
curl -v -H 'Content-Type: application/json' -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJub25jZSI6IkFRQUJBQUFBQUFCSGg0a21TX2FLVDVYcmp6eFJBdEh6RE1mbEZNYTYwaktGRHRhUXp0ZGVkM2V6Z0ZfUzlLMjdDRmQxSHlfZGdRcnR6WlJBczRDV095R3E1Vl9OZW9MSFNKTGpzblNCSDNCQU9oQnBzU18wVmlBQSIsImFsZyI6IlJTMjU2IiwieDV0IjoiU1NRZGhJMWNLdmhRRURTSnhFMmdHWXM0MFEwIiwia2lkIjoiU1NRZGhJMWNLdmhRRURTSnhFMmdHWXM0MFEwIn0.eyJhdWQiOiJodHRwczovL2dyYXBoLm1pY3Jvc29mdC5jb20iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC8wODY1YjBhYi02ZjYwLTQzNjMtYTEwZi05NWU5ZTc5ZjlmODEvIiwiaWF0IjoxNTE4OTc5NzQ0LCJuYmYiOjE1MTg5Nzk3NDQsImV4cCI6MTUxODk4MzY0NCwiYWlvIjoiWTJOZ1lKRE0reDVXbGhWNUlrajUwbDB4THNacEFBPT0iLCJhcHBfZGlzcGxheW5hbWUiOiJIQy1XZWIiLCJhcHBpZCI6ImVkZjlkY2M0LThjNjAtNDg3ZS1hYmUyLTI4MjcyYTRlZGJlMCIsImFwcGlkYWNyIjoiMiIsImlkcCI6Imh0dHBzOi8vc3RzLndpbmRvd3MubmV0LzA4NjViMGFiLTZmNjAtNDM2My1hMTBmLTk1ZTllNzlmOWY4MS8iLCJvaWQiOiJkNTUzMTE2My01MTcxLTRmZjctYTNjMS04NWFlNzUzMjkzNTIiLCJyb2xlcyI6WyJNYWlsLlJlYWRXcml0ZSIsIkNvbnRhY3RzLlJlYWRXcml0ZSIsIkRpcmVjdG9yeS5SZWFkLkFsbCIsIk1haWwuUmVhZCIsIkNhbGVuZGFycy5SZWFkV3JpdGUiXSwic3ViIjoiZDU1MzExNjMtNTE3MS00ZmY3LWEzYzEtODVhZTc1MzI5MzUyIiwidGlkIjoiMDg2NWIwYWItNmY2MC00MzYzLWExMGYtOTVlOWU3OWY5ZjgxIiwidXRpIjoiNkxJT3g1bWQ4ay05ajhBUUtiY2hBQSIsInZlciI6IjEuMCJ9.AWt_ANsH8sk15WeH1AgD6SD0Ki8VILMvzkbSMju_YFGKc5cVkrGp7Skzt64uDM8rI6Py5Y-1c3srXwON2oSihkRskfz5vG4nIlbFnuYd3Ij2Vz1ktpNnCeMAnAK2T8ifk2visRSvchRbuBNZZyamwRjActdDF9BS8NygUgmmygK4mPjOIab17PJPz5PisvRbCA2jBLWLvbu9RYrLH-xGuoLd2PLTbsn2WSVi3er4XztZCcK7XfVWe-0wjrV6qBufd5z0hH_KpQLdzPtLOzSUGUAcXGa0mBPceTWULQvQ-LPcAJO57F0ir5k22fWzlkOfUxQb9eGWREUm1cAPWk3CPw" "https://graph.microsoft.com/v1.0/users/oq@healthcentrified.co.uk/calendar/events"
* Trying 137.116.241.64...
* Connected to graph.microsoft.com (137.116.241.64) port 443 (#0)
* found 148 certificates in /etc/ssl/certs/ca-certificates.crt
* found 592 certificates in /etc/ssl/certs
* ALPN, offering http/1.1
* SSL connection using TLS1.2 / ECDHE_RSA_AES_256_CBC_SHA384
* server certificate verification OK
* server certificate status verification …Run Code Online (Sandbox Code Playgroud) 我正在开发一个Microsoft Teams应用程序.该文档没有提到如何调试在team app中运行的实际JS代码.
对于基于Office JS的其他office 365加载项,如outlook,word等,我们可以使用F12工具来调试JavaScript.我正在寻找类似的团队加入体验.
在这方面的任何帮助将不胜感激.